17

私はこのコードを持っています

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);

私の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で試しましたが、何も起こりません。レイアウトに入力した値は、マージントップの有無にかかわらず計算に使用されないということです。レイアウトは同じです。

アイテムの間に空きスペースを追加するにはどうすればよいですか?アイテム間の空きスペースをどのように膨らませることができますか?隙間や隙間などを膨らませることはできますか?または、2ディップの高さで空のレイアウトを膨らませるなどの回避策を使用する必要がありますありがとうございます

4

3 に答える 3

23

inflateメソッドの最後のパラメーターは、膨張したビューを追加するパラメーターです。あなたの場合はですnull。代わりにこれを試してください:

 View item = View.inflate(context, R.layout.item_layout, layout);
于 2011-10-10T14:37:42.850 に答える
3

マージンが外側に適用される場合は、代わりにRelativeLayoutをパディングしてみてください。

于 2011-10-10T14:40:07.143 に答える
0

以下のように、膨らませたレイアウトにマージンを追加できます。

final LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                                                                                ViewGroup.LayoutParams.WRAP_CONTENT);
         params.topMargin = 10;
于 2015-10-07T10:07:19.023 に答える