9

現在のアプリにはいくつかのボタンがあります。テキストとタグを除いて、それらはすべて同一です。ボタンごとにすべてのボタン構成情報を繰り返す必要がなければ、main.xml はより優れたものになるでしょう。

ボタンをテンプレートとして定義し、それをテンプレートとして使用してさらに作成する方法はありますか?

この例では、次の約 10 個があります。

 <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="Y"
            android:typeface="monospace"
            android:textSize="12pt"
            android:tag="Y"
            android:textColor="@color/button_text"
            android:background="@drawable/grey_blank_48x48"
            android:onClick="onButtonClicked"/>

1つあればいいのに、次の9つ:

 <Button2
            android:text="N"
            android:tag="N"/>

解像度

@Luksprogが言ったのとほとんど同じでした:

<style name="ASR33_button" >
    <item name="android:id">@+id/button</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:padding">10dp</item>
    <item name="android:textColor">@color/button_text</item>
    <item name="android:background">@drawable/grey_blank_48x48</item>
    <item name="android:onClick">onButtonClicked</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">12pt</item>
</style>

main.xml には次のようなものがあります。

   <Button
            style="@style/ASR33_button"
            android:tag="Y"
            android:text="Y"
            />

   <Button
            style="@style/ASR33_button"
            android:tag="N"
            android:text="N"
            />

これは一日を運ぶ。

4

4 に答える 4

13

私たちstyle:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="btnlook" >
        <item name="android:id">@+id/button</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">10dp</item>
        <item name="android:textColor">@color/button_text</item>
        <item name="android:background">@drawable/grey_blank_48x48</item>
        <item name="android:onClick">onButtonClicked</item>
        <item name="android:typeface">monospace</item>
        <item name="android:textSize">12pt</item>
    </style>
</resources>

そしてあなたのxmlレイアウトで:

<Button
            style="@style/btnlook"
            android:text="N"
            android:tag="N"/>
于 2012-04-07T18:03:36.107 に答える
3

ボタンを拡張し、繰り返されるすべてのものを設定するカスタムビューを作成できます。次に、説明したとおりに使用できますが、ショートネームだけでなく完全修飾名を使用できます。

class MyButton extends Button {
    public MyButton() {
        // Set the values you want
    }
}

XML では次のようになります。

<com.me.myapp.MyButton
    android:text="N"
    android:tag="N" />
于 2012-04-07T17:56:43.267 に答える
0

これを行う唯一の方法は、カスタムボタンをボタンのサブクラス化にすることです。

于 2012-04-07T17:58:56.867 に答える
0

作成できますselector

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle">
    <solid android:color="#AAFFFFFF"/>
    <corners android:bottomRightRadius="7dp"
        android:bottomLeftRadius="7dp" 
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp"/>

そして10ボタンをセットandroid:background="@drawable/that_selecter"

于 2012-04-07T17:56:07.637 に答える