首页 > 解决方案 > Android上具有自定义颜色的布局中的圆角

问题描述

我的可绘制对象的形状颜色有一个 xml :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/light_red"/>
    <corners android:radius="10dp"/>
</shape>

但是我想将此可绘制对象用作全局对象,例如在使用它时将角变圆,但能够更改backgroundColor.

但是当我试图以backgroundColor编程方式更改时,它会覆盖我想要的颜色,但它也会覆盖变平的圆角。

目前,如果我想要不同颜色的圆角,我需要创建多个 XML 文件,只需要android:color更改。

标签: javaandroidrounded-corners

解决方案


要以编程方式更改形状中全局定义的颜色,请使用以下命令:

findViewById(R.id.your_xml_element).getBackground().setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);

推荐阅读