2016-09-17 9 views
0

アンドロイドサポートライブラリを使用していますが、私はそれを確認する方法がわからないので知らないバージョンです。明らかに、android:textColor属性の値は無視されています。スタイルを定義してEditTextのtextAppearanceに割り当てると、color textColorは無視されます。私は次のスタイルを定義しているなぜtextColorがandroid:textAppearanceで無視されますか?

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <!-- This text should be red, but it is black --> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Text color via TextAppearance" 
     android:textAppearance="@style/TextAppearance.EditText" /> 

    <!-- The hint should be green, but it is grey --> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Hint color via TextAppearance" 
     android:textAppearance="@style/TextAppearance.EditText" /> 

    <!-- Text is red as set in android:textColor --> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Text color via android:textColor" 
     android:textColor="#880000" 
     android:textSize="18sp" /> 

    <!-- Hint is green as set in android:textColorHint --> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Hint color via android:textColorHint" 
     android:textColorHint="#008800" 
     android:textSize="18sp" /> 

</LinearLayout> 

<!-- Text Appearance --> 
<style name="TextAppearance.EditText" parent=""> 
    <item name="android:textColor">#880000</item>  <!-- this color is ignored --> 
    <item name="android:textColorHint">#008800</item> <!-- this color is ignored --> 
    <item name="android:textSize">18sp</item> 
</style> 

これは、サポートライブラリのバグですか、私は何かを逃した

だから、私は次のようなレイアウトを持っていますか?

答えて

0

使用

style="@style/TextAppearance.EditText"

代わりの

android:textAppearance="@style/TextAppearance.EditText"

それが動作するはずです!

+0

この背後にある理由は何ですか?次に使用されるandroid:textAppearanceは何ですか? –

+0

[this](https://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/)リンクをたどり、Text Appearanceセクションにジャンプします。あなたはそれを適切に使用することについていくつかの考えを得るかもしれません。 :) –

+0

正確にどのように私はそれを使用しています。 BTW。あなたが質問を読んでいない場合は、主にtextColor属性が無視される理由を中心に回っていますか? –

0

どこかの行に沿って、textColorの間違った/デフォルト値が選択されて適用されています。 XMLにのandroid:textColor="@null"を設定すると、android:textAppearanceで定義したandroid:textColorを使用することができます。これはandroid:textColorHintでも有効です。

(これは、このpostaccepted answerを反映している。)

関連する問題