gpt4 book ai didi

android - 如何在 Android 中以编程方式/动态方式创建此 shape.xml。设置描边颜色(包括图片/代码)

转载 作者:搜寻专家 更新时间:2023-11-01 07:53:33 24 4
gpt4 key购买 nike

我需要以编程方式创建这个形状(我需要根据用户的选择更改它的描边颜色)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
<solid
android:color="#FFEECC"
/>
<size
android:width="100dp"
android:height="100dp"
/>

<stroke android:width="5dp" android:color="#444444" />


</shape>

我尝试使用 ShapeDrawable,但它似乎没有描边颜色选项?此外,无论您为它们设置什么宽度或高度,形状都会倾向于拉伸(stretch)?谁能解释一下?

试过了

ShapeDrawable sd = new ShapeDrawable();
sd.setShape(new OvalShape());
sd.getPaint().setStrokeWidth(20);
sd.getPaint().setColor(Color.RED);

最佳答案

出于某种原因,您需要使用 GradientDrawable(强制使用纯色而不是真正的渐变):

    int backgroundColor = Color.RED;
int strokeColor = Color.GRAY;
int strokeSize = 10;
GradientDrawable drawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{backgroundColor, backgroundColor});
drawable.setShape(GradientDrawable.OVAL);
drawable.setStroke(strokeSize, strokeColor);
//...use your drawable

这是你使用上面的代码得到的:

enter image description here

为了实现阴影效果,使用elevation 属性或创建一个LayerListDrawable带有阴影层。

关于android - 如何在 Android 中以编程方式/动态方式创建此 shape.xml。设置描边颜色(包括图片/代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31366560/

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