Как получить цвета устройства? - PullRequest
2 голосов
/ 17 ноября 2011

У меня есть спиннер, который в эмуляторе светло-серый с черным текстом также на устройствах HTC.На Motorola Defy элемент управления темно-серый, а текст белый.

Как я могу получить цвет текста по умолчанию для устройства Currient?

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Ответ Macarse идет в правильном направлении, но я использую другой путь.

Я посмотрел в /platforms/android-X/data/res/values XML-файлах и получил цвет 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;
    }
}
1 голос
/ 17 ноября 2011

Все настройки выполняются переносчиками / производителями внутри:

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

Если вы используете TextView, вы можете проверить цвет текста по умолчанию, создав объект TextView и вызвав getTextColors () .

Другая возможность - проверить, как стилиприменяются к TextView и с использованием метода getResource(), чтобы получить точный цвет, который вы ищете.

...