是复印&复印;为Android布局GUI粘贴一个糟糕的编程实践?

是复印&复印;为Android布局GUI粘贴一个糟糕的编程实践?,android,xml,user-interface,Android,Xml,User Interface,最近,我一直在开发一个项目,在该项目中,我习惯于在AndroidLayout.xml上复制和粘贴UI元素 这主要是因为我懒得一次又一次地设置所有的特性 但是,当通过GUI(图1)更新@+id引用时,它也会更新已复制的每个项目 图1-通过GUI更新 然后,如果这样做,您还可以从另一个布局更新图像,在该布局中,您复制了此视图所需的特征 解决方案是仅使用代码复制和粘贴(图2),并在保存布局之前更改@+id 图2-通过代码复制和粘贴 我以前从来没有遇到过这样的问题。事实上,我过去很长一段时间都是通过

最近,我一直在开发一个项目,在该项目中,我习惯于在
AndroidLayout.xml
复制粘贴UI元素

这主要是因为我懒得一次又一次地设置所有的特性

但是,当通过GUI(图1)更新
@+id
引用时,它也会更新已复制的每个项目

图1-通过GUI更新

然后,如果这样做,您还可以从另一个布局更新图像,在该布局中,您复制了此视图所需的特征

解决方案是仅使用代码复制和粘贴(图2),并在保存布局之前更改
@+id

图2-通过代码复制和粘贴

我以前从来没有遇到过这样的问题。事实上,我过去很长一段时间都是通过GUI进行复制和粘贴,没有任何问题

在我让它编写代码之后,我开始怀疑:


在Android XML上使用复制和粘贴是一种糟糕的编程实践吗?为什么?

您可以使用styles.xml来避免在xml布局中复制和粘贴元素。例如:

将其粘贴到styles.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="main_layout">
    <item name="android:background">#ffffff</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:gravity">center_vertical</item>
</style>
</resources>

#ffffff
填补家长的空缺
填补家长的空缺
水平的
中心垂直
现在,xml文件中的每个布局都可以在不使用复制粘贴的情况下写入:

<LinearLayout
    android:id="@+id/layout_id_res"
    style="@style/main_layout">
</LinearLayout>

当人们投票反对时,他们根本就不明白这一点,也不想对正在发生的事情有更好的了解。