Android:生成按钮的更好方法

时间:2013-07-04 17:14:54

标签: android

到目前为止,我的应用程序非常简单且小巧。它有几个按钮,但我可以看到它很快就失去了大量的按钮。所以我的问题确实存在,我的activity_main.xml看起来非常丑陋。它有一堆标签,所以我想知道,当你有很多这些时,生成按钮的“正确”方法是什么?

2 个答案:

答案 0 :(得分:2)

使用XML来定义视图。我总是建议你使用xml,即使有20个按钮。

另外,您也可以在代码中以编程方式设置按钮,并将它们设置为您的布局。只需设置布局参数即可完成。

否则(如果您有许多按钮的列表,并且需要滚动),ListView或GridView将是一个不错的选择。

答案 1 :(得分:1)

为了使XML更清晰,您可以使用include来引用其他XML,它定义了一个包含所有常用属性的通用按钮。

因此,按钮将在放置在genericbutton.xml文件夹中的layout下定义:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" >

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onClick" />

</merge>

然后你的主要activity_main.xml会有三个按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <include
        android:id="@+id/button1"
        layout="@layout/genericbutton" />

    <include
        android:id="@+id/button2"
        layout="@layout/genericbutton" />

    <include
        android:id="@+id/button3"
        layout="@layout/genericbutton" />
</LinearLayout>

但在这种情况下,您可以为genericbutton.xml内的按钮设置相同的文本,也可以在Java代码中逐个设置相同的文本。您无法在include标记中进行设置。