2014-09-23 3 views
0

marginBottom не работает. Он работает, но маржа составляет всего несколько раз, независимо от того, какая маржа применяется. Зачем?программно нижняя граница для ImageView не работает

Java-код:

LinearLayout onepage= (LinearLayout) findViewById(R.id.onepage); 

RelativeLayout bluegreen = new RelativeLayout(this); 
p_ll = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
bluegreen.setLayoutParams(p_ll); 

//some other views that make up the whole page 

//bottom most image 
ImageButton migs = new ImageButton(this); 
p_rl = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
p_rl.addRule(RelativeLayout.CENTER_HORIZONTAL); 
p_rl.setMargins(0, 0, 0, 20); 
register.setLayoutParams(p_rl); 
register.setImageResource(R.drawable.migs); 
register.setPadding(0, 0, 0, 0); 

bluegreen.addView(migs); 

onepage.addView(bluegreen); 

XML:

<LinearLayout 
    android:id="@+id/onepage" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"   
    android:orientation="vertical" 
    tools:context=".PageActivity" > 
</LinearLayout> 

ответ

0

Вы заметили, что в setMargins параметры метода в пикселе, а не в дп? взгляните на android doc page

Так что в зависимости от размера экрана вашего устройства, но 20 пикселей, может быть очень мало.

Не забудьте вызвать requestLayout(), чтобы внести изменения в поля учетной записи.

Смежные вопросы