如何在运行时使用圆角更改LinearLayout的颜色?

时间:2014-11-25 08:41:30

标签: android

我试图用圆角绘制LinearLayout。

我希望使用Colorfilter在运行时更改此布局的颜色。 但ColorFilter无法应用布局,只应用视图..

我不知道如何实现这一目标。

  1. 使用圆角绘制LinearLayout
  2. 并在运行时更改布局的颜色
  3. 我该怎么做? 如果你能帮助我,我将非常感谢你:) (对不起,简短的英文,因为我是外国人:|)

3 个答案:

答案 0 :(得分:4)

我认为你需要用圆角动态改变线性布局的背景颜色吧?

GradientDrawable gd = new GradientDrawable();
    gd.setColor(Color.parseColor("Your color code"));
    gd.setCornerRadius(60);
    your_layout.setBackgroundDrawable(gd);

答案 1 :(得分:0)

如果您使用此示例,它将演示如何使用xml drawable应用圆角和阴影: Android LinearLayout : Add border with shadow around a linearLayout

您可以在运行时使用

将此背景应用于布局
yourLayout.setBackgroundResource(int resid);

答案 2 :(得分:0)

请遵循此代码,

//活动中的此代码,java文件

LinearLayout linearLayout=(LinearLayout)findViewById(R.id.your_linear_layout_id);
linearLayout.setBackgroundResource(R.drawable.drawable_file_in_xml);

// drawable_file_in_xml

    <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <gradient android:startColor="#444444" android:endColor="#202020" android:angle="-90"/>
    <corners android:radius="2dp"/> 
</shape>

在此代码中,您可以设置圆角<corners android:radius="2dp"/>