Как динамически изменить цвет фигуры? - PullRequest
133 голосов
/ 23 августа 2011

у меня

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <solid
       android:color="#FFFF00" />
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
</shape>

<TextView
    android:background="@drawable/test"
    android:layout_height="45dp"
    android:layout_width="100dp"
    android:text="Moderate"
/>

Итак, теперь я хочу, чтобы эта форма меняла цвета в зависимости от информации, получаемой от вызова веб-службы. Таким образом, это может быть желтый, зеленый, красный или любой другой, в зависимости от цвета, который я получаю от вызова веб-службы.

Как мне изменить цвет фигуры? На основании этой информации?

Ответы [ 12 ]

0 голосов
/ 05 февраля 2019

Самый простой способ заполнить форму с помощью Радиус :

XML:

<TextView
    android:id="@+id/textView"
    android:background="@drawable/test"
    android:layout_height="45dp"
    android:layout_width="100dp"
    android:text="Moderate"/>

Java

(textView.getBackground()).setColorFilter(Color.parseColor("#FFDE03"), PorterDuff.Mode.SRC_IN);
0 голосов
/ 19 мая 2017

Я пытаюсь ответить Ронни, и мое приложение упало. Затем я проверяю свой нарисованный XML. Это выглядит так:

<selector >...</selector>

. Я изменил это на это: (также изменил атрибуты)

<shape> ... </shape>

Работает.

Для тех, кто сталкивается с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...