Androidでは、他のいくつかのビューを含むボタンを作成したいと思います。たとえば、次のようなものがあります。複数のビューを含むボタンを作成する方法は?
+---------------------------+
| Hello world! +-------+ |
| | image | |
| Some more info +-------+ |
+---------------------------+
しかし、この具体例よりも柔軟性がありたいと思います。理想的には、ボタンにはViewGroupを含めることができ、別のXMLファイルでそのレイアウトを実装することができます。ただし、ButtonはViewを拡張しますがViewGroupは拡張しないため、これは可能ではありません。
標準のAndroidコンポーネントを使用してこれを達成する方法はありますか、カスタムボタンクラスを作成する必要がありますか?トリックを行い、要求、いくつかの例のXMLとして
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:clickable="true"
android:background="@android:drawable/btn_default">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/primary_text_light"/>
<TextView
android:id="@+id/additional_line_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/primary_text_light"/>
<TextView
android:id="@+id/additional_line_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/primary_text_light"/>
</LinearLayout>
私は、そうでない場合、彼らはほとんど読めなくなり、明示的TextViewsに色を設定する必要がありました(彼らはデフォルトで白です) 。私はSDKから識別子を掘った:.../platforms/android-7/data/res/values/public.xml
。奇妙なことにprimary_text_light
は黒いテキストを返しますが、primary_text_dark
の結果は白です...
25.3k担当者がこの質問をしていますか?私はあなたにヒントを与える...自分のクラスを書く....またはポイントを逃したのですか? – Squonk
本当ですか?評判は、仲間がどこかで立ち往生してヒントを求めることは決してできないことを意味していますか? –
私はあなた自身のカスタムView(Group)クラスを作成するとも言います。 –