2

私は線形レイアウトを持っていて、それに FrameLayout を膨らませたいと思っています。どうすればできるか知っていますか?出来ますか?インフレに適したメソッドが見つかりませんというエラーが引き続き発生します

ありがとう

編集:自分自身に答える:

LinearLayout ll=(LinearLayout) findViewById(R.id.linear);
final LayoutInflater  inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
FrameLayout frml = (FrameLayout)inflater.inflate(R.layout.frame,null);
frml.setId(10101010);
frml.setBackgroundColor(Color.RED);

ll.addView(frml);
4

2 に答える 2

2

LayoutInflaterインスタンスを取得するには、このようなサービスとして取得する必要があります

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

次に、それを使用して FrameLayout を膨張させ、このようにLinearLayoutに追加できます。

LinearLayout linearLayout = ... ;
inflater.inflate(R.layout.your_framelayout_file_name, linearLayout, false);

FrameLayoutのレイアウトの幅と高さを次のように設定することを忘れないでください。

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    .
    .
    .
</FrameLayout>

LayoutInflater の詳細については、このリンクにアクセスしてください。

于 2011-10-27T13:07:44.100 に答える