每个xml.avoid中的按钮在每个xml中编写代码

时间:2014-03-25 17:12:31

标签: android xml button

我有5个xmls.in每个xml我创建了10个按钮。我的问题是,无论如何都要避免在每个xml.in每个xml中为按钮编写相同的代码,还有不同的元素也存在。只有10个按钮是在每个xml中都很常见。例如:

xml1-> button 1 button2   button3 button4(present at top) textbox
xml2-> button 1 button2   button3 button4(present at top) editbox
xml3-> button 1 button2   button3 button4(present at top) imagebutton
xml4-> button 1 button2   button3 button4(present at top) listview

它不是我的原始代码

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >
 <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/editText1"
        android:layout_alignBottom="@+id/editText1"
        android:layout_alignParentRight="true"
        android:text="Button" />
 <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
</relativelayout>

2 个答案:

答案 0 :(得分:2)

你可以在一个xml中有一个按钮,然后在你想要的布局中使用include标签。

<include android:id="@+id/b1" layout="@layout/button_layout" />

这是Romain Guy关于同一个

的博客

http://www.curious-creature.org/2009/02/25/android-layout-trick-2-include-to-reuse/

答案 1 :(得分:2)

您可以使用重复的10个按钮创建一个xml(如果它们总是一起显示):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >
    <Button
        android:id="@+id/button1"
     ...
    />
    <Button
        android:id="@+id/button2"
    ...
    />
...
</relativelayout>

然后,将此xml包含在不同的布局中:

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

但是如果以不同的方式包含10个按钮,那么你应该为每个按钮创建一个xml:button1.xml,button2.xml,button3.xml等,并分别包含它们:

<include layout="@layout/button1"/>
<include layout="@layout/button2"/>
<include layout="@layout/button3"/>