如何使用java设置LinearLayout背景为渐变色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用java设置LinearLayout背景为渐变色相关的知识,希望对你有一定的参考价值。

如何使用java设置LinearLayout背景为渐变色,或者有相关的渐变色代码的也可以,小弟不胜感激,谢谢

至少有两种方案可以实现:

第一是使用背景图片,就是给Linearlayout添加一个background属性,值选择一张带渐变颜色的图片即可。

第二种方案是使用独立的颜色代码来替代上述一种的背景图片,比如可以在res/drawable下新建一个mycolor.xml,然后再在LinearLayout添加属性

android:background="@drawable/mycolor"即可

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="

    <gradient
        android:angle="270"
        android:centerColor="#00FFFF"
        android:centerX="0.5"
        android:centerY="0。3"
        android:endColor="#666666"
        android:startColor="#0099FF" />
    <padding
        android:bottom="7dp"
        android:left="7dp"
        android:right="7dp"
        android:top="7dp" />
    <corners android:radius="4dp" />
</shape>

解析:其中android:angle ="270.0"代表角度为270,由上到下的渐变,如果我改变成0那么就变成了从左到右的渐变,如果改变90.0那么渐变会从下边往上渐变,可以 多改变一下参数试试效果。centerColor中间颜色; centerX: x轴渐变中心,从左到右渐变时有意义;centerY: 同理y轴的渐变中心;endColor 渐变终点颜色,同样startColor为渐变起点颜色。

上述代码效果如下:

参考技术A 渐变色的流行程度何止是头发和衣服,不单了。

做个渐变的背景图片 bg.9.png。然后设置为LinearLayout的背景就可以了

请采纳或追问
参考技术B 渐变色的流行程度何止是头发和衣服,不单了。

做个渐变的背景图片 bg.9.png。然后设置为LinearLayout的背景就可以了

请采纳或追问

如何围绕Android LinearLayout创建边框?

我有一个大的布局,里面有一个较小的布局。

如何在小布局周围创建线条边框?

答案

当然。您可以为所需的任何布局添加边框。基本上,您需要创建自定义drawable并将其添加为布局的背景。例:

在drawable文件夹中创建一个名为customborder.xml的文件:

<?xml version="1.0" encoding="UTF-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
   <corners android:radius="20dp"/> 
   <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
   <stroke android:width="1dp" android:color="#CCCCCC"/>
 </shape>

现在将其作为背景应用于较小的布局:

<LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/customborder">

这应该够了吧。

另见:

另一答案

在drawable文件夹中创建名为border.xml的XML,如下所示:

<?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item> 
    <shape android:shape="rectangle">
      <solid android:color="#FF0000" /> 
    </shape>
  </item>   
    <item android:left="5dp" android:right="5dp"  android:top="5dp" >  
     <shape android:shape="rectangle"> 
      <solid android:color="#000000" />
    </shape>
   </item>    
 </layer-list>

然后将此添加到线性布局作为背景,如下所示:

     android:background="@drawable/border"
另一答案

试试这个:

例如,让我们将res / drawable / my_custom_background.xml定义为:

(在drawable文件夹中创建此布局)layout_border.xml

  <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <stroke android:width="2dp" android:height="2dp"
                android:color="#FF0000" />
            <solid android:color="#000000" />
            <padding android:left="1dp" android:top="1dp" android:right="1dp"
                android:bottom="1dp" />

            <corners android:radius="1dp" android:bottomRightRadius="5dp"
                android:bottomLeftRadius="0dp" android:topLeftRadius="5dp"
                android:topRightRadius="0dp" />
        </shape>
    </item>

</layer-list>

main.xml中

<LinearLayout 
    android:layout_gravity="center"
    android:layout_width="200dp" 
    android:layout_height="200dp"   
    android:background="@drawable/layout_border" />
</LinearLayout>
另一答案

在drawable文件夹中创建一个xml文件

<stroke
    android:width="2dp"
    android:color="#B40404" />

<padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp" />

<corners android:radius="4dp" />

现在将此xml称为您的小布局背景

机器人:背景= “@绘制/ yourxml”

另一答案

此解决方案只会添加边框,LinearLayout的主体将是透明的。

首先,在drawable文件夹border.xml中创建此边框drawable

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android= "http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke android:width="2dp" android:color="#ec0606"/>
    <corners android:radius="10dp"/>
</shape>

然后,在LinearLayout视图中,将border.xml添加为背景,如下所示

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/border">
另一答案

我会将Android文档链接添加到其他答案中。

https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

它描述了Shape Drawable和stroke的所有属性,用于设置边框。

例:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  <stroke android:width="1dp" android:color="#F00"/>
  <solid android:color="#0000"/>
</shape>

红色边界有透明背景。

另一答案

你也可以用实际的方式去做

  GradientDrawable gradientDrawable=new GradientDrawable();
   gradientDrawable.setStroke(4,getResources().getColor(R.color.line_Input));

然后将布局的背景设置为:

LinearLayout layout = (LinearLayout ) findViewById(R.id.ayout); layout .setBackground(gradientDrawable);

以上是关于如何使用java设置LinearLayout背景为渐变色的主要内容,如果未能解决你的问题,请参考以下文章

android设置linearlayout布局的背景颜色,怎么动态改变背景颜色?

android 如何使LinearLayout内控件的排列方向为自下至上

将 LinearLayout 调整为 ImageView 的宽度

将baselineAligned设置为false如何提高LinearLayout的性能?

如何更改此线性布局背景颜色?

Android:如何以编程方式设置 LinearLayout 边距