gpt4 book ai didi

android - 如何以编程方式创建 android 形状背景?

转载 作者:IT王子 更新时间:2023-10-29 00:04:51 25 4
gpt4 key购买 nike

如何以编程方式创建此形状?

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">

<solid android:color="#e67e22"/>
<corners
android:topLeftRadius="0dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"/>
</shape>

我已经尝试过这个简单的函数,它可以获取角、颜色并将其设置为形状:

    LinearLayout linearLayout = (LinearLayout) findViewById(R.id.category_header);

GradientDrawable drawable = (GradientDrawable) linearLayout.getDrawable();

float[] values = { 0.2f, 0.2f, 0.2f, 0.2f };
drawable.setCornerRadii(values);

但我得到了这个错误:

没有为LinearLayout类型定义getDrawable()方法

最佳答案

你可以这样做:

public static void customView(View v, int backgroundColor, int borderColor) {
GradientDrawable shape = new GradientDrawable();
shape.setShape(GradientDrawable.RECTANGLE);
shape.setCornerRadii(new float[] { 8, 8, 8, 8, 0, 0, 0, 0 });
shape.setColor(backgroundColor);
shape.setStroke(3, borderColor);
v.setBackground(shape);
}

documentation setCornerRadii 参数的含义。

您可以在整个应用程序中使用此功能,并且可以放置您选择的边框和背景颜色。

关于android - 如何以编程方式创建 android 形状背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28578701/

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