如何给FrameLayout充气?

时间:2011-10-27 08:38:54

标签: android android-inflate layout-inflater

我有线性布局,我想将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);

2 个答案:

答案 0 :(得分:1)

要获取 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 visit this link

的更多信息

答案 1 :(得分:0)

LinearLayout parent = ...
LayoutInflater li = LayoutInflater.from(context);
View view = li.inflate(R.layout.my_layout, parent, false);
parent.addView(view);