2011-12-18 4 views
11

setTextAppearance(this, android.R.style.TextAppearance_Medium)をプログラムで呼び出すと、明るいグレーのテキストで中程度のサイズのフォントが得られます。コード対リソースのsetTextAppearanceの差

しかし、android:textAppearance="@android:style/TextAppearance.Medium"をxmlに使用すると、同じサイズのテキストが表示されますが、黒色になります。

これらの違いは何ですか?

xmlファイルの関連部分は以下のようになります。

<Button 
    android:id="@+id/button1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="@android:style/TextAppearance.Medium" 
    android:text="Button" /> 

コードは次のようになります。

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button button = (Button)findViewById(R.id.button1); 
    button.setText("This is a long text"); 
    //button.setTextAppearance(this, android.R.style.TextAppearance_Medium); 
} 

答えて

1

それは異なってはなりません。別の色を取得する唯一の方法は、どちらかにある:

1)あなたのsetTextAppearance

または

2の後に、プログラムでテキストの色を変更)XMLファイルアンドロイドが含まれています。黒との、textColor。

xmlコードにandroid:textColor属性が含まれている場合、Androidはxmlで定義されているものではなく、そのものを使用します。 textAppearanceを手動で設定すると、スタイルの色が使用されます。

したがって、あなたはおそらくアンドロイドを持っている:その要素のxmlの中の、textColor =「#000000」

+0

ハズレは、テキストの色どこでも – user204884

+0

ともありませんアンドロイドを変更しないでください、です:textColor = ""? – Entreco

+0

nope - コード – user204884

8

正しい応答はsetTextAppearance(context, android.R.style.TextAppearance_Large);

関連する問題