Как узнать цвета определенного телефона Android

1

Я видел, что для Android существует множество разных тем, в зависимости от устройства. Например, на моем HTC WildFire цвет подсветки - "зеленый свет", а эмулятор - оранжевый.

Нужно ли вообще знать, каковы основные цвета интерфейса устройства, на котором работает мое приложение?

Итак, я могу установить (например) TextView цвета фона в соответствии с темой устройства.

EDIT: Вы сказали мне, что это невозможно, поэтому...

Есть ли способ рисовать простой прямоугольник с цветом выделения? Может быть, пустая кнопка?

Спасибо!!

Теги:
themes

4 ответа

1
Лучший ответ

На самом деле не указанный цвет, сами чертежи фактически заменены на этих модифицированных скинах Android, которые выпускают HTC, Samsung и т.д. Таким образом, программно, нет прямого способа узнать, какая будет цветовая схема. Лучше всего было бы просто определить свои собственные чертежи для ваших виджетов с помощью вашей собственной цветовой схемы или даже повторно использовать настройки по умолчанию на складе Android, но скопируйте их в папку с возможностью переноса приложений и установите их в StateListDrawable и примените их к своему виджеты. Это гарантирует, что вы получите тот же стиль цвета на всех платформах, при этом недостатком является то, что ваше приложение не будет соответствовать схеме остальной части скина. В зависимости от вашего макета приложения это, вероятно, не будет проблемой.

  • 0
    Да, это хорошие решения ... но я предпочитаю, чтобы мое приложение отображалось с темой устройства.
1

Я не думаю, что есть способ получить то, что цвет подсветки по умолчанию, но вы можете, конечно, установить свой собственный, используя атрибут textColorHighlight = # aarrggbb в своем TextView в макете.

  • 0
    есть ли также атрибут для окружающей ауры, например свечение вокруг EditText? Или лучше у вас есть список / сайт, где я могу найти все эти атрибуты?
  • 0
    Это интересно, спасибо! Я цитирую вопрос Галипа
Показать ещё 1 комментарий
0

Вы можете использовать @android:drawable/list_selector_background (или форму кода: android.R.drawable.list_selector_background) в своих представлениях. Он имеет каждое из состояний выбора по умолчанию. Вы также можете создать селектор самостоятельно в выпадающей папке (это называется как default_highlight.xml):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
      android:drawable="@android:drawable/list_selector_background" /> <!-- pressed -->
        <item android:state_focused="true"
      android:drawable="@android:drawable/list_selector_background" /> <!-- focused -->
    <item android:drawable="@android:drawable/list_selector_background" /> <!-- default -->
</selector>

И измените любой из тех, которые вы можете настроить. Затем вы используете его, как любой, выбирая, устанавливая фон представления на него (default_highlight или все, что вы его называете).

  • 0
    Дайте мне понять ... вы говорите мне создать свой собственный интерфейс, меняя эти параметры. Я прав?
  • 0
    Нет необходимости в интерфейсе. Если вы создадите XML-файл, который я показал в качестве примера, вы можете напрямую использовать его в качестве отрисовки (так же, как и для изображения) для фона заданного представления.
0

Насколько я знаю, нет способа (я не вижу, как может быть действительно). Думаю, у вас может быть несколько разных тем в вашем собственном приложении, и пусть пользователь выбирает один, чтобы легко поближе соответствовать остальным настройкам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню