从android中的另一个XML调用XML是一种好习惯吗?

时间:2016-10-19 05:50:07

标签: android xml android-studio

我是Android App开发的新手,非常喜欢这个。

从另一个XML调用XML是一种好习惯吗?这是否意味着节省应用运行时间?

XML 1(activity_main):

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragment"
android:name="com.loginfbk.MainFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_main" />

XML 2(fragment_main):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/messenger_button_white_bg_round"/>


</LinearLayout>

2 个答案:

答案 0 :(得分:2)

是。有时您想重用视图。因此,最好的方法是重用xml视图,而不是多次复制XML行。这就是为什么我们在android模式中有include标签。

<include layout="@layout/reusable_view" />

在我们的例子中,reusable_view.xml可以包含要在另一个视图中注入的任何已定义视图。

答案 1 :(得分:1)

  

从另一个XML调用XML是一种好习惯吗?

一般情况下为NO,在您的情况下是。

一般情况:如果你计划在几乎每个可重复使用的布局中重复使用,并且你进行代码重构以提取公共部分,那很好,它将起作用。这个问题后来出现了。后来你改变主意添加一些东西,或者你的客户有一个绝妙的主意。你会改变它,你会祈祷不要在其他地方破坏代码。

另外一些IDE能够向您显示所包含的部分,其他不是!

在某些情况下,您需要包含动态视图。防爆。带有&#34;形式的5行和&#34;到&#34;文本输入和之后的&#34;按钮&#34;持有者,如果用户点击添加/删除其他内容,可能会添加文本区域。 在这个令人讨厌的案例中,你真的没有选择:只包含元素,即时更改。幸运的是,这不是Android开发中的一般情况。

除了上面提到的情况,我会重复使用组件,当我打算使用平板电脑上看起来相同的组件时,也会重复使用组件:例如&#34;显示许可证&#34;按钮,或德国公司&#34; Imprint&#34;在其他情况下,我会去编写完整的xml,因为实际上你需要在项目中最多复制代码3-5次,你可以立即看到有什么并立即更改它,而不会影响其他布局,特别是如果你的布局包含多个1个控制器+ 1-2个包装器。