gpt4 book ai didi

android - 在用作背景的可绘制 xml 中在运行时更改形状纯色

转载 作者:IT老高 更新时间:2023-10-28 21:54:37 34 4
gpt4 key购买 nike

我有一个可绘制的 xml 文件(background.xml):

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
...........
</shape>
</item>

<item android:id="@+id/shape_id">
<shape android:shape="rectangle">
<solid android:color="#ffefefef" />
</shape>
</item>

</layer-list>

由 LinearLayout 使用:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/background"
android:id="@+id/layout_id"
>

现在我需要根据某些条件在运行时更改形状 shape_id 纯色。如何做到这一点?

最佳答案

我发现的:

    View v = findViewById(R.id.layout_id);

LayerDrawable bgDrawable = (LayerDrawable)v.getBackground();
final GradientDrawable shape = (GradientDrawable) bgDrawable.findDrawableByLayerId(R.id.shape_id);
shape.setColor(----);

关于android - 在用作背景的可绘制 xml 中在运行时更改形状纯色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636412/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com