2

我有一个微调器,它在模拟器中是浅灰色的,在 HTC 设备上也有黑色文本。在摩托罗拉 Defy 上,控件为深灰色,文本为白色。

如何获取当前设备的默认文本颜色?

4

2 回答 2

1

携带/制造商完成的所有定制都在里面:

  • android:colors
  • android:styles
  • android:themes

如果您使用的是 aTextView您可以通过创建一个TextView对象并调用getTextColors()来检查默认文本颜色。

另一种可能性是检查样式是如何应用到的,TextView并使用该getResource()方法来获得您正在寻找的确切颜色。

于 2011-11-17T12:32:19.873 回答
1

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;
    }
}
于 2011-11-21T11:33:58.663 回答