5

ここに彼らは書いています:

スタイル定義をテーマとして適用するには、スタイルを Android マニフェストのアクティビティまたはアプリケーションに適用する必要があります。これを行うと、アクティビティまたはアプリケーション内のすべてのビューが、サポートする各プロパティを適用します。たとえば、前の例の CodeFont スタイルを Activity に適用すると、テキスト スタイル プロパティをサポートするすべての View 要素が適用されます。

それで、TextColor を赤に設定すると、テキストを含むすべての要素が赤に変わりますか?? CSS スタイルシートのような強力な指定子はありませんか? スタイル ( style="@style/CodeFont") の概念が実用的だと思います。

4

2 に答える 2

3

あなたのコメントに応えて、この物件で探しているものが見つかるかもしれませんtextAppearance

ここで themes.xml ファイルを開きます:
https://android.googlesource.com/platform/frameworks/base/+/froyo-release/core/res/res/values/themes.xml

textAppearance を検索すると、次のようなさまざまなエントリが表示されます。

<style name="Theme">
    <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
    ...
    <item name="panelTextAppearance">?android:attr/textAppearanceInverse</item>
    ...

これにより、Maragues の例に示すように、アプリケーション全体でコンポーネントのスタイルをある程度設定できます。

そのため、リストビューやスクロール ビューなどのすべての子要素のスタイルを完全に制御することはできませんが、TextView や Button などの一部のテキスト ベースのコンポーネントのスタイルを制御するための制限付きサポートがあります。

于 2010-11-05T15:25:24.877 に答える
2

引用したテキストのすぐ下を読んだ場合:

アプリケーションのすべてのアクティビティにテーマを設定するには、AndroidManifest.xml ファイルを開き、タグを編集して、スタイル名を持つ android:theme 属性を含めます。

アプリケーション内の 1 つのアクティビティだけにテーマを適用する場合は、代わりに android:theme 属性をタグに追加します。

その少し後に、CSS と同様に、プロパティを継承およびオーバーライドする方法について説明します。

気に入ったテーマを微調整したい場合は、そのテーマをカスタム テーマの親として追加するだけです。たとえば、従来のダイアログ テーマを変更して、次のように独自の背景画像を使用できます。

<style name="CustomTextView" parent="@android:style/Widget.TextView">
    <item name="android:background">@drawable/custom_background</item>
</style>

次に、CustomTextView からインターライトします。

<style name="CustomTextView.RedText">
   <item name="android:textColor">@color/red</item> 
</style>

XML レイアウトを設計したら、テーマを継承してプロパティをオーバーライドできます

<TextView
    android:id="@+id/example"

    style="@style/CustomTextView.RedText"

    android:textColor="@color/green" />

自分でリンクしたページをもう一度読む必要があると思います。よく説明されています:)

于 2010-09-20T14:17:53.950 に答える