色を赤に設定し、その後、色をデフォルトに再度設定したいのですが、デフォルトの色がわからない、誰もが知っていますか?
古い色を保存し、それを使用して元の値を復元できます。以下に例を示します。
ColorStateList oldColors = textView.getTextColors(); //save original colors
textView.setTextColor(Color.RED);
....
textView.setTextColor(oldColors);//restore original colors
ただし、一般的にデフォルトのTextView
テキストの色は、Activity
に適用される現在のテーマから決定されます。
実際には、TextViewの色は次のとおりです。
Android:textColor="@Android:color/tab_indicator_text"
または
#808080
Android.R.color
にはいくつかのデフォルトの色が定義されています
int c = getResources().getColor(Android.R.color.primary_text_dark);
属性からこれらの値を取得します。
int[] attrs = new int[] { Android.R.attr.textColorSecondary };
TypedArray a = getTheme().obtainStyledAttributes(R.style.AppTheme, attrs);
DEFAULT_TEXT_COLOR = a.getColor(0, Color.RED);
a.recycle();
テーマには、Androidがテキストの色を指定しない場合に使用するデフォルトがあります。さまざまなAndroid UI(HTC Sense 、Samsung TouchWizなど)。Androidには_dark
および_light
テーマなので、これらはデフォルトが異なります(ただし、Vanilla Androidでは両方ともほぼ黒です)。ただし、デバイス全体で一貫したスタイルを提供するために、プライマリテキストの色を自分で定義することをお勧めします。
コード内:
getResources().getColor(Android.R.color.primary_text_dark);
getResources().getColor(Android.R.color.primary_text_light);
Xmlで:
Android:color="@Android:color/primary_text_dark"
Android:color="@Android:color/primary_text_light"
バニラの参照としてAndroid暗いテーマのテキストの色は #060001
およびlightテーマでは #060003
API v1以降。 Androidここでスタイルクラスを参照
私はそれが古いことを知っていますが、デフォルトのライトテーマを持つデフォルトのテーマエディタによると、デフォルト
textPrimaryColor = #000000
そして
textColorPrimaryDark = #757575
ねえ、あなたはこれを試すことができます
ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
Android:textColor="@Android:color/secondary_text_dark"
は、Android:textColor="@Android:color/tab_indicator_text"
よりもデフォルトのTextViewカラーにより近い結果を提供することがわかりました。使用しているテーマに応じてsecondary_text_dark/lightを切り替える必要があると思います
デフォルトの色はありません。つまり、すべてのデバイスが独自のものを持つことができます。
デフォルトの色整数値は16711935(0x00FF00FF)だと思います。