gpt4 book ai didi

android - 拐角半径和可在代码中绘制的项目

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:07 25 4
gpt4 key购买 nike

我有这个 xml;

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/back" />
<item>
<shape>
<solid/>
<stroke android:width="1dip" android:color="#25786" />
<corners android:radius="10dip"/>
<padding android:left="0dip" android:top="0dip"
android:right="0dip" android:bottom="0dip" />
</shape>
</item>
</layer-list>

现在我通过代码来做:

Drawable[] layers = new Drawable[2];

ShapeDrawable sd1 = new ShapeDrawable(new RectShape());
sd1.getPaint().setColor(0xFFFFFFFF);
sd1.getPaint().setStyle(Style.STROKE);
sd1.getPaint().setStrokeWidth(1);

layers[0] = sd1;

LayerDrawable composite = new LayerDrawable(layers);

但我无法为 <corners android:radius="10dip"/> 编码和 <item android:drawable="@drawable/back" />

怎么做?

编辑 1

Drawable[] layers = new Drawable[2];

ShapeDrawable sd1 = new ShapeDrawable(new RectShape());
sd1.getPaint().setColor(0xFFFFFFFF);
sd1.getPaint().setStyle(Style.STROKE);
sd1.getPaint().setStrokeWidth(1);
sd1.getPaint().setPathEffect(new CornerPathEffect(10));

layers[1] = sd1;
layers[0] = getResources().getDrawable(R.drawable.pie_chart_back);

LayerDrawable composite = new LayerDrawable(layers);

最佳答案

就像在您的 XML 中一样,您需要三个 Drawable,而不是一个。一个是 LayerDrawable包含其他的。另一个丢失的可能是 BitmapDrawable取决于 @drawable/back

你要找的边角效果在CornerPathEffect DrawablePaint,请参阅 Paint.setPathEffect .

关于android - 拐角半径和可在代码中绘制的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142814/

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