У меня есть вид, подобный этому (я опустил остальные виджеты):
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="236dp"
android:background="@drawable/mask_round_corner_16r">
<View
android:id="@+id/baseForeground"
android:layout_width="0dp"
android:layout_height="172dp"
android:background="@drawable/mask_round_corner_16r"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<OtherStuff>
....
</OtherStuff>
</android.support.constraint.ConstraintLayout>
Имеющий в качестве фона форму, делающую ее округленными границами:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="16dp" />
</shape>
Проблема в том, что я хочу изменить цвет Контейнера и Представления по коду, не меняя чертеж, используемый для придания им формы.
Итак, что я сделал:
var colorTop = ContextCompat.getColor(context, R.color.dark_organge) // dark color
baseForeground.backgroundTintList = ColorStateList.valueOf(color)
var colorBot = ContextCompat.getColor(context, R.color.light_organge)// light color
container.backgroundTintList = ColorStateList.valueOf(color)
Но взгляды правильно устанавливают цвет.В специальном вид на передний план. (@+id/baseForeground
) и кажется более светлым, чем обычно
Может быть .. Я что-то упустил?Или что-то не так?
Также после изменения цвета сделал invalidate()
, но все равно не работает К вашему сведению: все эти представления используются в обзоре переработчика.
РЕДАКТИРОВАТЬ
Чтобы было понятнее.То, чего я хочу добиться, это установить цвет для ConstraintLayout и цвет для View.Проблема в том, что у них есть возможность рисования для установки формы, и когда я пытаюсь установить оттенок вида, меняется только вид, но не оба
То, что я получил прямо сейчас (просто, сосредоточиться нацвет видов, другие виджеты не проблема ^^) ![enter image description here](https://i.stack.imgur.com/ALSZk.jpg)
Что должно быть ![enter image description here](https://i.stack.imgur.com/zs2QK.png)