gpt4 book ai didi

android - 动态创建形状

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:49 26 4
gpt4 key购买 nike

我有一个用 XML 定义的形状对象,如下所示:

<shape android:shape="rectangle">
<gradient
android:startColor="#333"
android:centerColor="#DDD"
android:endColor="#333"/>
<stroke android:width="1dp" android:color="#FF333333" />
</shape>

我想在我的代码中创建一个相等的对象。我创建了一个 GradientDrawable 如下:

gradientDrawable1.setColors(new int[] { 0x333, 0xDDD, 0x333 });
gradientDrawable1.setOrientation(Orientation.TOP_BOTTOM);

但我不知道如何创建一个 Stroke(?) 然后将 Stroke 和 GradientDrawable 分配给 Shape

有什么想法吗?

最佳答案

例子:

import android.graphics.drawable.GradientDrawable;

public class SomeDrawable extends GradientDrawable {

public SomeDrawable(int pStartColor, int pCenterColor, int pEndColor, int pStrokeWidth, int pStrokeColor, float cornerRadius) {
super(Orientation.BOTTOM_TOP,new int[]{pStartColor,pCenterColor,pEndColor});
setStroke(pStrokeWidth,pStrokeColor);
setShape(GradientDrawable.RECTANGLE);
setCornerRadius(cornerRadius);
}

}

用法:

public class MyActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SomeDrawable vDrawable = new SomeDrawable(Color.BLACK,Color.GREEN,Color.LTGRAY,2,Color.RED,50);
View vView = new View(this);
vView.setBackgroundDrawable(vDrawable);
setContentView(vView);
}


}

结果:

Drawable result image

关于android - 动态创建形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17759732/

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