我是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>
答案 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个包装器。