Раздувать вид без наценки - PullRequest
       24

Раздувать вид без наценки

16 голосов
/ 10 октября 2011

У меня есть этот код

View item = View.inflate(context, R.layout.item_layout, null);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
                        LayoutParams.WRAP_CONTENT);
    layout.addView(item, params);

my item_layout: (обратите внимание на часть android: layout_marginTop = "2dip")

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" android:layout_marginTop="2dip" android:layout_width="fill_parent">

    <ImageView android:src="@drawable/pic_unknown" android:id="@+id/image1"
        android:layout_height="50dip" android:layout_width="50dip"
        android:padding="5dip"></ImageView>
</RelativeLayout>

и затем в моем макете я вижу список предметов раздутым, но без полей между ними. Я пробовал с margintop = 10dip, но ничего не происходит, моя точка зрения в том, что значение, которое я поместил в макет, не учитывается при расчете с полем или без него, макет такой же.

Как мне добавить пустое пространство между элементами? Как я могу раздуть пустое пространство между предметами? Можно ли надуть что-то вроде разрыва или пространства? или я должен использовать обходной путь, такой как раздувание некоторого пустого макета с высотой 2dip или что-то Спасибо

Ответы [ 3 ]

20 голосов
/ 10 октября 2011

Последний параметр метода надувания - это параметр, к которому вы добавляете накаченное представление. В вашем случае это null. Попробуйте вместо этого:

 View item = View.inflate(context, R.layout.item_layout, layout);
3 голосов
/ 10 октября 2011

Попробуйте вместо этого заполнить RelativeLayout, если ваши поля применяются к внешней стороне.

0 голосов
/ 07 октября 2015

Вы можете добавить маржу в макет, который вы надули, как показано ниже:

final LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                                                                                ViewGroup.LayoutParams.WRAP_CONTENT);
         params.topMargin = 10;
...