Настройка цвета фона элемента макета Android

Я пытаюсь, несколько клонировать дизайн деятельности из набора слайдов в дизайне Android UI . Однако у меня проблема с очень простой задачей.

Я создал макет, как показано на изображении, а заголовок – TextView в RelativeLayout . Теперь я хочу изменить цвет фона RelativeLayout , однако я не могу понять, как это сделать.

Я знаю, что могу установить свойство android:background в теге RelativeLayout в XML-файле, но к чему его установить? Я хочу определить новый цвет, который я могу использовать в нескольких местах. Является ли это drawable или string ?

Кроме того, я ожидал бы, что это будет очень простой способ для этого в дизайнере пользовательского интерфейса Android Eclipse, которого я должен упустить?

В настоящее время я немного расстроен, так как это должно быть мероприятие, которое выполняется с максимальным количеством кликов. Поэтому любая помощь очень ценится. 🙂

Разработка Android-активности

Вы можете использовать простые цветовые ресурсы , обычно заданные внутри res/values/colors.xml .

 #ffff0000 

и используйте это через android:background="@color/red" . Этот цвет можно использовать и в другом месте, например, в виде текста. Ссылка на него в XML так же, или получить его в коде через getResources().getColor(R.color.red) .

Вы также можете использовать любой ресурс, android:background="@drawable/mydrawable" для android:background="@drawable/mydrawable" в качестве фона, для этого используется android:background="@drawable/mydrawable" (это означает, что выталкивание 9patch, обычные растровые изображения, фигурные чертежи, ..).

Вышеупомянутые ответы хороши. Вы можете также пойти так, как это программно, если вы хотите

Во-первых, ваш макет должен иметь идентификатор. Добавьте его, написав следующую строку +id в res / layout / *. Xml

  

Затем в вашем коде Java внесите следующие изменения.

 RelativeLayout rl = (RelativeLayout)findViewById(R.id.your_layout_id); rl.setBackgroundColor(Color.RED); 

кроме этого, если у вас есть цвет, определенный в colors.xml, тогда вы также можете программно:

 rl.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.red)); 

Вы можете использовать android:background="#DC143C" или любые другие значения RGB для вашего цвета. У меня нет проблем с этим использовать, как указано здесь

 res/values/colors.xml. #ffff0000 android:background="@color/red" 

пример не работал для меня, но

 android:background="#(hexidecimal here without these parenthesis)" 

работал для меня в относительном элементе макета как атрибут.

Если вы хотите быстро изменить цвет (и вы не сохранили Hex-номера), у android есть несколько предустановленных цветов, которые вы можете получить так:

 android:background="@android:color/black" 

Есть 15 цветов, которые вы можете выбрать, из которых приятно проверять вещи быстро, и вам не нужно настраивать дополнительные файлы.

Настройка файла values ​​/ colors.xml и использование прямого Hex, как описано выше, по-прежнему будут работать.

Android studio 2.1.2 (или, возможно, раньше) позволит вам выбрать цветное колесо:

Цветное колесо в Android Studio

Я получил это, добавив следующее в мой макет:

 android:background="#FFFFFF" 

Затем я нажал на цвет FFFFFF и нажал на появившуюся лампочку.

Ответы прежде всего статичны. Я думал, что дам динамический ответ. Два файла, которые нужно синхронизировать, – это относительный foo.xml с макетом и activity_bar.java который соответствует classу Java, соответствующему этому R.layout.foo .

В foo.xml задайте идентификатор для всего макета:

   

И в activity_bar.java установите цвет в onCreate() :

 public class activity_bar extends AppCompatActivty { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.foo); //Set an id to the layout RelativeLayout currentLayout = (RelativeLayout) findViewById(R.id.foo); currentLayout.setBackgroundColor(Color.RED); ... } ... } 

Надеюсь, это поможет.

  • Обновление пользовательского интерфейса из streamа
  • Редактор графического редактора Netbeans, создающий собственный непонятный код
  • Измените сторону, которую текст появится на переключателе
  • Применение MVC с помощью JavaFx
  • Простая всплывающая форма java с по меньшей мере двумя полями
  • SwingWorker, Thread.sleep () или javax.swing.timer? Мне нужно «вставить паузу»,
  • Размер шрифта Bind в JavaFX?
  • Картина не клиента на окне аэрозона
  • Как добавить дополнительную кнопку в строку заголовка windows?
  • Добавление полосы прокрутки в подзаголовки в графическом интерфейсе
  • Как удалить все дочерние элементы?
  • Interesting Posts

    MSN продолжает появляться в моей панели задач

    Есть ли надстройка браузера для фильтрации результатов поиска Google?

    Переопределить вызов функции в C

    Изменить расширяемый индикатор в ExpandableListView

    Как я могу изменить ярлык по умолчанию в Windows для закрытия программ?

    Maven: включение jar не найден в публичном репозитории

    Как скрыть подсчет ссылок в VS2013?

    Выполнение локального скрипта / команды на удаленном сервере

    Как показать удобную страницу ошибок в браузере, когда исключение среды выполнения выбрано сервлетом?

    Загрузка файлов не работает – нужна помощь

    Как вызвать .NET Webservice с Android с помощью KSOAP2?

    Почему я не могу назначить массивы как & a = & b?

    Сохранение времени и памяти с помощью parfor?

    Задайте разные части поля формы, чтобы иметь разные шрифты, используя iTextSharp

    Без NAT на IPv6 и только с одним DNS-именем, как я могу разговаривать с моими серверами?

    Давайте будем гением компьютера.