1

スピナーアイテムのレイアウトを変更したい。レイアウトには 2 つの TextView があります。1 つは小さいサイズのテキストで、もう 1 つは中サイズのテキストです。以下のレイアウトは私が使用しているものです。

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

    <TextView
        android:id="@+id/test1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:paddingLeft="5dp"
        android:gravity="center_vertical"
        android:text="foo" />

    <TextView
        android:id="@+id/test2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:paddingLeft="5dp"
        android:gravity="center_vertical"
        android:text="bar" />

</LinearLayout>

これは、Ice Cream Sandwich がインストールされている A500 タブでうまく機能します。スピナーの背景は黒、テキストのテキストは白です。ただし、2.3.3 を実行している HTC Desire HD でまったく同じレイアウトを使用すると、スピナーの背景が白に変わりました。こちらも白なので文字が見えません。

代わりに使用できますtextAppearance{Small,Medium}Inverseが、状況は逆になります。テキストは HTC Desire では表示されますが、A500 では表示されません。

背景色に基づいてスピナーのテキストの色を変更するという質問は解決策を見つけたようですが、私が知る限りtextColorPrimarytextAppearance{Small,Medium}.

保守性の理由から、デバイスや Android のバージョンに関係なく、同じレイアウトを使用したいと考えています。私は何をすべきか?

また、保守性の理由から、ListView アイテムにまったく同じレイアウトを使用できれば素晴らしいと思います。

4

0 に答える 0