在LinearLayout中更改圆的颜色

时间:2015-04-03 17:56:34

标签: android android-linearlayout drawable

我有这样的LinearLayout:

 <LinearLayout
                android:background="@drawable/circle"
                android:layout_gravity="center_horizontal"
                android:orientation="vertical"
                android:id="@+id/powerCircle"
                android:layout_width="20dp"
                android:layout_height="20sp" />

然后我有一个彩色圆圈的背景,如下:

circle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid
        android:color="#666666"/>

    <size
        android:width="20dp"
        android:height="20dp"/>
</shape>

在我的自定义adapter中,我想根据状态变量更改圆圈的背景颜色。

如何获得circle's背景的参考?

1 个答案:

答案 0 :(得分:4)

也许,这样的事情应该有效:

GradientDrawable background = (GradientDrawable) linearView.getBackground();
background.setColor(getResources().getColor(R.color.some_color));