1

これが私のコードです

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

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:textAppearance">@style/App_TextAppearance</item>
    <item name="android:editTextStyle">@style/App_EditTextStyle</item>
    <item name="android:textViewStyle">@style/App_TextViewStyle</item>
</style>

<style name="App_TextAppearance" parent="@android:style/TextAppearance">
    <item name="android:textColor">#ffff0000</item>
</style>

<style name="App_EditTextStyle" parent="@android:style/Widget.EditText">
    <item name="android:textAppearance">?android:textAppearance</item>
</style>

<style name="App_TextViewStyle" parent="@android:style/Widget.TextView">
    <item name="android:textAppearance">?android:textAppearance</item>
</style>

問題は、すべてのテキストビューのテキストカラーが赤になっているのに、すべての編集テキストのテキストカラーがまだ黒であることです。edittext の色を変更するには、android:textColor 属性項目を App_EditTextStyle に設定する必要があることはわかっていますが、なぜですか? android:textAppearance属性はedittextには役に立たないのですか?

4

1 に答える 1

1

この種の変更は、xml 部分ではなくコードで試しました。onFocusChangeListenerEditTextを使用して実現できます。

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;

public class MainActivity extends Activity {
/** Called when the activity is first created. */

EditText et1;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    et1 = (EditText) findViewById(R.id.editText1);        


    et1.setOnFocusChangeListener(new OnFocusChangeListener() {

        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus)  //Whenever your EditText is focused this color will be applied
                  et1.setTextColor(Color.RED);           
              else //Otherwise display the text in Gray Color
                  et1.setTextColor(Color.GRAY);             
        }
    });

}
}

これは私のために働いていました。あなたにも役立つことを願っています。

于 2013-08-19T04:35:59.773 に答える