1

コンセプトがとてもシンプルだと感じられることをやろうとしています。私のアプリはAPI10(Gingerbread)までずっとサポートされるようにしたいと思います。これを見栄えよくするために、デバイスがAPI 10を実行しているときに、ボタンのテキストの色を少し変更する必要があります。したがって、2つのスタイルを作成します。1つはデバイスが使用しているときに使用されます。 API 10(この場合はボタンのテキストの色を黒にします)、およびデバイスがAPI 11以降を使用している場合は別の色(この場合、テキストの色はデフォルトのICSの灰色がかった色になります)。これを行うために、valuesとvalues-v11フォルダーを使用しています。valuesフォルダー内には、次のコードを含むthemes.xmlファイルがあります。

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="buttonColorStyle">
        <item name="android:textAppearanceButton">@style/buttonTextColor</item>
    </style>

    <style name="buttonTextColor">
       <item name="android:textColor">#FFFFFF</item>
    </style>
</resources> 

ただし、ターゲットSDKを10に設定してアプリをロードすると、ボタンのテキストの色はデフォルトの灰色がかった色に変わりません。また、このスタイルを使用する必要があるボタンの1つのコードは次のとおりです。

<Button
        style="@style/buttonColorStyle"
        android:id="@+id/thirdSectionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="sectionButtonClicked"
        android:text="Section 3"
        android:textSize="11.5sp" />

誰かアイデアはありますか?

4

2 に答える 2

1

あなたはこのようなことをしなければなりません:

 <style name="MyStlye">
        <item name="android:textAppearanceButton">@style/BtnText</item>
 </style>

 <style name="BtnText" parent="android:TextAppearance.Small.Inverse">
        <item name="android:textColor">@android:color/black</item> // or whatever color
 </style>
于 2013-01-05T00:21:31.013 に答える
0

すべてのバージョンに同じ素敵なスタイルを設定してみませんか?

このライブラリ(Android開発者のブログでも提案されています)を使用して、すべてのデバイスでholoテーマを使用することができます。

または、現在のスタイルをそのままにして、ユーザーが現在のOSのスタイルに「慣れている」と感じるようにします(企業間で変更される可能性があるため)。

于 2013-01-05T18:44:21.903 に答える