На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Hsilgos
  
> Глобальное управление цветом фона и текста в приложении Android , + вопрос по табличному выводу данных
    Всем привет!

    По умолчанию, как я понял, для всех виджетов в приложении Android устанавливается черный цвет фона и светлый цвет текста (не белый, так как на белом фоне он еще как-то виден. Вместе с тем, начальник пожелал, чтобы было наоборот - светлый фон, черный цвет текста. Цвет фона, как я понял, наследуется всеми виджетами от главного Layout. А придется ли мне для этого для каждого TextView задавать черный цвет шрифта? Я попробовал setTextColor(0). В результате на белом фоне не видно вообще ничего! Я думал, что в этой функции нужно задавать RGB-цвет. Или это не так?

    Если существует способ глобального управления цветами, буду очень признателен за подсказку!

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

    Добавлено
    А то очень запарно для всех виджетов эти свойства задавать.

    Появился еще один вопрос, решил нне создавать для него отдельную тему. В мобильном приложении для водителей-ИП, работающих в системе, объединяющей несколько таксопарков, на экране нужно выводить информацию по текущим заказам, чтобы водитель мог их просматривать и выполнять какие-то дополнительные действия. Я начал использовать TableLayout для вывода информации по заказам в форме таблицы, где каждому заказу соответствовала бы отдельная строка. К сожалению, этот класс не позволяет с легкостью обрамлять все ячейки рамкой, приходится делать дополнительные действия. Мне попалась статейка в тему: Android TableLayout - Создаем таблицу с рамкой. Там рамка делается с помощью смены цвета заливки для рядов таблицы и самих виджетов-ячеек на противоположный и заданием маржинов. Я попробовал такой способ, и у меня никак не получилось сделать рамку в один пиксель вокруг каждой ячейки. Да мне кажется, это довольно костыльный способ.

    На другом, уже англоязычном ресурсе я нашел способ использования объекта View для рисования линии. Там в табличном лэйауте таким образом рисовались сепараторы между пунктами меню, выводимого на экране (a-la меню в программах Windows). Я взял это за основу, и мне удалось сделать рамку, как хотелось. Но... почти. Дело в том, что при небольшом числе полей строка таблицы получается уже ширины экрана, я в таком случае хотел бы растягивать ячейки таблицы по ширине. В примере из первой статьи для этого использовалось такое свойство TableLayoyt: android:stretchColumns="*". Но при этом вширь растягиваются и вертикальные линии моей рамки, что неприемлимо!

    Итак, кто-нибудь решал подобную проблему табличного представления данных? Если да, то каим образом это удалось сделать? Буду благодарен за подсказки и наводки.
    Сообщение отредактировано: Homez -
      Вообще-то можно каждую ячейку сделать кастомную. Можно её как угодно разукрасить, добавить какие угодно элементы и т.д. Может, тебе это надо?
        Нет, мне, как бы наоборот, хочется, чтобы можно было в одном месте для всей формы сменить цвета, чтобы не прописывать их снова и снова для каждого виджета. Возможно такое?

        И что по второму вопросу?
          Цитата
          Я думал, что в этой функции нужно задавать RGB-цвет. Или это не так?

          Не так, задаеться ARGB цвет.
          Цитата
          Если существует способ глобального управления цветами, буду очень признателен за подсказку!

          Создаете стили для вьюх, стили организуете в тему, тему назначаете в манифесте.
            Цитата mrco @
            Создаете стили для вьюх, стили организуете в тему, тему назначаете в манифесте.

            Хотелось бы увидеть на примере. Не подкините ли ссылочку на какую-нибудь статейку, это описывающую?
              http://developer.android.com/guide/topics/ui/themes.html

              Только там не сказано как назначать на вьюхи стили в теме, а делаеться это так:
              ExpandedWrap disabled
                    <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 записях назначаем стили для компонентов.
                А, спасибо! Сейчас это пока не очень актуально, так как в первую очередь хочу проработать логику приложения, но буду иметь в виду!
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0304 ]   [ 15 queries used ]   [ Generated: 27.04.24, 11:59 GMT ]