Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.139.82.23] |
|
Сообщ.
#1
,
|
|
|
Всем привет!
По умолчанию, как я понял, для всех виджетов в приложении Android устанавливается черный цвет фона и светлый цвет текста (не белый, так как на белом фоне он еще как-то виден. Вместе с тем, начальник пожелал, чтобы было наоборот - светлый фон, черный цвет текста. Цвет фона, как я понял, наследуется всеми виджетами от главного Layout. А придется ли мне для этого для каждого TextView задавать черный цвет шрифта? Я попробовал setTextColor(0). В результате на белом фоне не видно вообще ничего! Я думал, что в этой функции нужно задавать RGB-цвет. Или это не так? Если существует способ глобального управления цветами, буду очень признателен за подсказку! Добавлено Ах, сорри, с цветом я вроде понял, нужно использовать Color.rgb(). Но главный вопрос топика остается в силе. Добавлено А то очень запарно для всех виджетов эти свойства задавать. Появился еще один вопрос, решил нне создавать для него отдельную тему. В мобильном приложении для водителей-ИП, работающих в системе, объединяющей несколько таксопарков, на экране нужно выводить информацию по текущим заказам, чтобы водитель мог их просматривать и выполнять какие-то дополнительные действия. Я начал использовать TableLayout для вывода информации по заказам в форме таблицы, где каждому заказу соответствовала бы отдельная строка. К сожалению, этот класс не позволяет с легкостью обрамлять все ячейки рамкой, приходится делать дополнительные действия. Мне попалась статейка в тему: Android TableLayout - Создаем таблицу с рамкой. Там рамка делается с помощью смены цвета заливки для рядов таблицы и самих виджетов-ячеек на противоположный и заданием маржинов. Я попробовал такой способ, и у меня никак не получилось сделать рамку в один пиксель вокруг каждой ячейки. Да мне кажется, это довольно костыльный способ. На другом, уже англоязычном ресурсе я нашел способ использования объекта View для рисования линии. Там в табличном лэйауте таким образом рисовались сепараторы между пунктами меню, выводимого на экране (a-la меню в программах Windows). Я взял это за основу, и мне удалось сделать рамку, как хотелось. Но... почти. Дело в том, что при небольшом числе полей строка таблицы получается уже ширины экрана, я в таком случае хотел бы растягивать ячейки таблицы по ширине. В примере из первой статьи для этого использовалось такое свойство TableLayoyt: android:stretchColumns="*". Но при этом вширь растягиваются и вертикальные линии моей рамки, что неприемлимо! Итак, кто-нибудь решал подобную проблему табличного представления данных? Если да, то каим образом это удалось сделать? Буду благодарен за подсказки и наводки. |
Сообщ.
#2
,
|
|
|
Вообще-то можно каждую ячейку сделать кастомную. Можно её как угодно разукрасить, добавить какие угодно элементы и т.д. Может, тебе это надо?
|
Сообщ.
#3
,
|
|
|
Нет, мне, как бы наоборот, хочется, чтобы можно было в одном месте для всей формы сменить цвета, чтобы не прописывать их снова и снова для каждого виджета. Возможно такое?
И что по второму вопросу? |
Сообщ.
#4
,
|
|
|
Цитата Я думал, что в этой функции нужно задавать RGB-цвет. Или это не так? Не так, задаеться ARGB цвет. Цитата Если существует способ глобального управления цветами, буду очень признателен за подсказку! Создаете стили для вьюх, стили организуете в тему, тему назначаете в манифесте. |
Сообщ.
#5
,
|
|
|
Цитата mrco @ Создаете стили для вьюх, стили организуете в тему, тему назначаете в манифесте. Хотелось бы увидеть на примере. Не подкините ли ссылочку на какую-нибудь статейку, это описывающую? |
Сообщ.
#6
,
|
|
|
http://developer.android.com/guide/topics/ui/themes.html
Только там не сказано как назначать на вьюхи стили в теме, а делаеться это так: <style name="FlightHero" parent="android:Theme"> <item name="android:windowNoTitle">false</item> <item name="android:windowBackground">@drawable/backrepeat</item> <item name="android:listViewStyle">@style/MyListView</item> <item name="android:editTextStyle">@style/MyEditText</item> </style> в последних двух item записях назначаем стили для компонентов. |
Сообщ.
#7
,
|
|
|
А, спасибо! Сейчас это пока не очень актуально, так как в первую очередь хочу проработать логику приложения, но буду иметь в виду!
|