当前位置: 首页 > 知识库问答 >
问题:

如何将可绘制集的背景/颜色更改为视图的背景?

吴高洁
2023-03-14

我的drawables文件夹中有这个xml。

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="10dp"/>
    <solid android:color="#ffffff"/>
</shape>

我基本上是用它来为任何视图设置圆角,我将其设置为背景。但我想知道的是,如何保持该视图的颜色/背景色调动态。因为假设我有三个视图,它们都需要圆角,但都需要不同的颜色,所以在这一刻我必须创建三个不同的可绘制文件并分别为每个文件设置颜色。正如我在上面的文件中所做的那样。我尝试过在原始视图上使用背景提示,但它不起作用。

共有2个答案

祖麻雀
2023-03-14

创建一个可绘制的背景并设置您的视图背景:

private void setBackground(View v, int backgroundColor) {
    GradientDrawable shape = new GradientDrawable();
    shape.setShape(GradientDrawable.RECTANGLE);
    shape.setColor(backgroundColor);
    shape.setSize(width, height);
    shape.setCornerRadius(4.0f);
    v.setBackground(shape);
    v.setBackgroundDrawable(shape);
}
闻人嘉悦
2023-03-14
GradientDrawable background = (GradientDrawable) textView.getBackground();
background.setColor(getResources().getColor(R.color.some_color));

我认为您已将可绘制的形状应用于textView作为背景。

因此,您需要使用设置了背景的视图来获取背景。

 类似资料:
  • 我开始尝试,我感到惊讶的是,更改

  • 问题内容: 我已经将JOptionPane添加到我的应用程序中,但是我不知道如何将背景颜色更改为白色? 问题答案: 通过使用类 要么

  • 问题内容: 我试图在Storyboard检查器中将背景从透明更改为白色,但是在模拟时,堆栈视图的背景颜色仍然具有清晰的颜色。 如何更改的背景颜色? 问题答案: 您不能执行此操作– 是非绘图视图,这意味着从不调用该视图, 并且其背景颜色将被忽略。如果您非常需要背景颜色,请考虑将堆栈视图放置在另一个视图中,并为该视图提供背景颜色。 参考从这里。 编辑: 您可以在此处或下面的答案中(如下)将subVie

  • 我正在使用浮动操作按钮,我想更改背景颜色。 这是我的密码 下面是我用来尝试实现这一点的代码: 我也得到我的FAB的角落,如图所示。我应该如何消除那些角落的阴影?

  • 问题内容: 我想更改主视图(而不是按钮或文本视图)的背景颜色,而只是通常是黑色的真实背景…我得到了以下代码: 它在的内部,但只是更改了Button的背景。 问题答案: 尝试用类似的方法创建一个方法… 然后从您的OnClickListener调用它,并传递您想要的任何颜色。

  • 我想知道如何更改文本视图的背景,因为我正在从站点解析中提取数据。com,但我不能这样做,我正在尝试这样做。 代码 错误 04-30 11:56:59.156 28388-28691/com。实例ronysueliton。patospizzas E/AndroidRuntime﹕ 致命异常:AsyncTask#2进程:com。实例ronysueliton。patospizzas,PID:28388爪