视图会自动膨胀吗?

时间:2016-04-13 03:52:18

标签: android layout-inflater

据我所知,LayoutInflater将XML转换为Views。但是当我在代码中使用Buttons,TextViews或其他小部件时,我只需要使用findViewById()而不必首先充气这些视图。这些观点会自动膨胀吗?如果是这样,视图何时自动膨胀,何时需要手动充气?

4 个答案:

答案 0 :(得分:2)

您只需要膨胀xml布局,然后将自动显示所有视图组和视图(按钮,textview,edittext等)。

因此在Activity类中,oncreate方法有一行SetContentview(),这会使xml布局膨胀。

答案 1 :(得分:1)

如果您手动创建活动和xml,则会手动充气。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_activity); 
}

答案 2 :(得分:1)

Activity需要在其setContentView(R.layout.<your_layout_here>)方法中调用onCreate。这会将指定布局中的XML扩展为Activity的视图层次结构。对于Fragment,请覆盖onCreateView方法,如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.<your_layout_here>, container, false);
}

一旦您将布局(及其所有子级View)夸大到视图层次结构中,您就可以使用findViewById(R.id.<your_view_id>)来获取对实际{{1}的引用你已经膨胀到层次结构中并使用它的对象。

答案 3 :(得分:1)

这里几乎没有:

1。 查看您的活动(用户界面屏幕) ,由 setContentView()设置 方法。

2。 查看特定用户界面组件 ,例如按钮,可以在您的activity_layout 的 xml中创建,也可以为特定的UI组件为单独的xml布局文件充气。最好的示例和用法就像为自定义Toast充气xml布局文件。

因此,这里涉及setContentView()并为单独的视图膨胀xml布局文件: 这些 为视图和视图组件提供了两种,两者都为布局创建二进制输出,并按上述方式使用它们。< / p>