3

を使用して、テーマに黒い背景画像を適用しました

<style name="AppBaseTheme" parent="Theme.Sherlock.Light">
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/background</item>
</style>

そして今、テキストビューだけの色を白に変更して、暗い背景に対して見えるようにしたいと考えています

TextView に android:textColor を設定すると、そのようにうまくいくと思いました

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/background</item>
    <item name="android:textViewStyle">@style/Ff1TextViewStyle</item>
</style>


<style name="Ff1SpinnerViewStyle" parent="android:Widget.TextView">
    <item name="android:textColor">@color/sysWhite</item>
    <item name="android:textStyle">bold</item>
</style>

しかし、残念なことに、これはスピナー テキストやスピナー ドロップダウン テキスト、テキストを白地に白に変更することによる ActionBar ドロップダウン メニューなど、あらゆる種類のものを完全に詰め込むだけで、以前は完全に満足していました。まだ使用していない、またはまだ発見していないものは、白いテキストになってしまう可能性があります。

Androidのテーマが非常にめちゃくちゃで、ウィジェットに影響を与えずにTextViewウィジェットのテキストの色を自信を持って設定することができないとは信じがたいです.TextViewウィジェットの子であるとしか思えないので、そうしなければならないと考えています責任があるのは私の知識の欠如であり、私は共通の要件でなければならないことについての啓蒙を望んでおり、探しています.

どんな助けでも感謝します。

4

2 に答える 2

7

のみにスタイルを設定できるかどうかはよくわかりません。 、およびその他にも子として含まれているTextViewため、わかるようにそれらにも影響します。私の意見では、スタイルを作成し、それを自分のものに設定する必要があります。これに似たもの:ActionbarSpinnerViewsTextViewTextView

 <style name="MyTextView" parent="@android:style/TextAppearance.Small">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">12sp</item>
</style>

そしてあなたTextViewのxml宣言でそれを使用してください:

<TextView
   style="@style/MyTextView" />

またはあなたができる2番目のことは、カスタムを作成することですTextView

public class MyTextView extends TextView {

     public MyTextView(Context context){
         super(context);
         this.setTextColor(android.R.color.white);
     }
}

xml ファイルで MyTextView を使用します。

<com.my.package.name.MyTextView
   android:id="@+id/my_textview" />

編集:

設定android:textViewStyleが他のすべてのビューに影響を与える理由は、Android ソースをよく見ると、他のビューで使用されているすべてのテキストビュー スタイルが の子であることがわかるからですandroid.Widget.TextView。したがって、私の意見では、この状況でできる最善のことは、単一のスタイルを作成し、それをTextViewxml に設定することです。

この情報がお役に立てば幸いです。

于 2013-04-12T14:27:05.787 に答える