-1

我有一个主布局文件,它变得过大并且变得非常难以阅读。我目前只是使用 setContentView(int layoutResID) 来膨胀整个布局。

我最近发现了 addContentView(View view, ViewGroup.LayoutParams params) 方法,在我浪费任何时间进行重大更改之前,我需要其他人的一些输入。

我的主要布局文件现在看起来像这样:

frame layout
    relative layout
        ...
    linear layout a
        ...
    linear layout b
        ...
    linear layout c
        ...
    linear layout d
        ...
    linear layout e
        ...
/frame layout

其中一些线性布局非常复杂。

我的问题是,如果我将每个复杂的线性布局分离到它们自己的 xml 文件中,然后使用 addContentView 依次对它们中的每一个进行膨胀,我最终会得到与当前使用 setContentView 实现相同的行为吗?

我的主要动机是让每个单独的布局文件只包含一个复杂的线性布局,以便于 xml 文件的可读性。

4

1 回答 1

0

您还可以使用 Layout Inflater 为这些不同的布局充气。并在您的框架布局中动态添加那些膨胀的视图。例如

 View v;
 if(condition){
    v=inflater.inflate(R.layout.a)
 }
else if(condition){
   v=inflater.inflate(R.layout.b)
}

FrameLayout f= findviewbyId(R.id.frameLayout)
f.addView(v);
于 2013-05-24T06:07:16.490 回答