1

たとえば、XML でスタイル タグを定義すると、すべてのタイプのすべてのビューがそのテーマを取得します。ビュー タイプのスタイルの違いに対する解決策はありますか? ここにいくつかのコードがあります:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="buttonTheme" parent="android:Theme.Holo">
        <item name="android:drawableLeft">@drawable/ic_launcher</item>
    </style>

    <style name="textTheme" parent="android:Theme.Holo">
        <item name="android:textColor">#ff0000</item>
    </style>

</resources>
4

2 に答える 2

5

スタイルとテーマの間には少し混乱があると思います。アプリケーションでウィジェットのカスタム スタイルを定義することについて話している。テーマは、アクティビティまたはアプリケーションにグローバルに適用されるこれらのスタイルのコレクションです。ボタンとテキスト ビュー用に作成したカスタム スタイルを新しいカスタム テーマに適用できるため、すべてのボタンとテキスト アイテムが同じ属性を共有します。

あなたが探しているのは、もっとこのようなものだと思います。

<style name="ApplicationTheme" parent="android:Theme.Holo">
    <item name="buttonStyle">@style/MyButtonStyle</item>
    <item name="textAppearance">@style/MyTextAppearance</item>
</style>

<style name="MyButtonStyle" parent="android:Widget.Button">
    <item name="android:drawableLeft">@drawable/ic_launcher</item>
</style>

<style name="MyTextAppearance" parent="android:TextAppearance">
    <item name="android:textColor">#ff0000</item>
</style>

ここでは、2 つの新しいスタイル (ボタンの外観用とデフォルトのテキストの外観用) を作成し、それらを新しいカスタム テーマの属性として適用しました。@style/ApplicationThemeマニフェストまたはView コンストラクターでこのテーマを適用できるようになりました。R.style.ApplicationTheme

于 2012-11-28T05:04:18.507 に答える
0

android:theme=""これを行うには、ファイル内の特定のアクティビティに属性を追加しAndroidManifest.xmlます

例:

<activity android:theme="@style/CustomTheme">
于 2012-11-28T05:05:22.800 に答える