Я создаю конструктор и устанавливаю некоторый вид внутри программно и добавляю какое-то правило. поэтому, когда я вызываю конструктор, я вижу представление по умолчанию.Как я могу задать маржу для представления в другом классе?
Теперь я хочу достичь некоторого этого вида и изменить заданное поле. Это базовое я знаю, но я доцент для меня.
Может ли кто-нибудь помочь?
Часть моего строителя:
_photoImgVw = new ImageView(getContext());
_photoImgVw.setImageResource(R.drawable.pic);
_photoImgVw.setAdjustViewBounds(true);
_photoImgVw.setMaxWidth(100);
_photoImgVw.setId(2);
lp2=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp2.setMargins(0,0,0,0);
addView(_photoImgVw,lp2);
LayoutParams lp3=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp3.addRule(RelativeLayout.RIGHT_OF,_photoImgVw.getId());
lp3.setMargins(0,0,0,0);
addView(_nameTxt,lp3);
вызовы в деятельности для изменения:
facebookPersonView.lp2.setMargins(10,300,100,20);
Можете привести более подробную информацию, пожалуйста? Какова внешняя компоновка в этом случае? Например. если это FrameLayout, вы должны установить правильную гравитацию, чтобы заставить поля работать. Я объяснил это в [этом ответе] (http://stackoverflow.com/questions/8154716/add-a-margin-to-linearlayout-in-android/8196227#8196227). –
Нам нужно больше кода, чем это, как вы создаете экземпляр lp2? – Blundell
@alexsc мой конструктор расширяет RelativeLayout. Вы спрашиваете об этом? – DuyguK