我有一个微调器,它在模拟器中是浅灰色的,在 HTC 设备上也有黑色文本。在摩托罗拉 Defy 上,控件为深灰色,文本为白色。
如何获取当前设备的默认文本颜色?
我有一个微调器,它在模拟器中是浅灰色的,在 HTC 设备上也有黑色文本。在摩托罗拉 Defy 上,控件为深灰色,文本为白色。
如何获取当前设备的默认文本颜色?
携带/制造商完成的所有定制都在里面:
android:colors
android:styles
android:themes
如果您使用的是 aTextView
您可以通过创建一个TextView
对象并调用getTextColors()来检查默认文本颜色。
另一种可能性是检查样式是如何应用到的,TextView
并使用该getResource()
方法来获得您正在寻找的确切颜色。
Macarse 的答案朝着正确的方向发展,但我使用了另一种方式。
我查看了xml 文件并得到了适合我/platforms/android-X/data/res/values
的颜色。background_dark
最后我使用这个代码:
public class MyAdapter extends ArrayAdapter<SpinnerItem> {
// ...
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v = super.getDropDownView(position, convertView, parent);
TextView tv=(TextView)v.findViewById(android.R.id.text1);
tv.setTextColor(Resources.getSystem().getColor(android.R.color.background_dark));
return v;
}
}