xml中的渐变线性布局

时间:2012-01-04 06:15:12

标签: android view gradient

如何为线性布局设置xml中的渐变。我想在布局中为视图绘制圆角边缘的边框。发布一些例子,如果有人尝试过。

3 个答案:

答案 0 :(得分:7)

按以下方式定义xml并将其放在 res 目录下的 drawable 文件夹中:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="6dp" android:color="#FFCCCCCC"/>
    <padding android:left="5dp" android:top="5dp" android:right="5dp"
        android:bottom="5dp" />
    <corners android:radius="8dp" />
    <gradient
        android:angle="270"
        android:startColor="#FFCCCCCC"
        android:centerColor="#FFFFFFFF"
        android:endColor="#FFCCCCCC"
        android:type="linear" />
</shape> 

然后,您可以将渐变设置为:

yourView.setBackgroundResource(R.drawable.nameofxml);

答案 1 :(得分:1)

这是代码:

在res / drawable

中创建一个roundedborder.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
 <corners android:radius="6dp" /> 
<padding android:left="15dp" android:top="15dp"
    android:right="15dp" android:bottom="15dp" />
<stroke android:color="#10527c" android:width="2dp" />
<gradient
android:angle="270"
android:startColor="#FFCCCCCC"
android:centerColor="#FFFFFFFF"
android:endColor="#FFCCCCCC"
android:type="linear" />

</shape>

然后将后台资源应用于活动中的布局。

 tempLayout.setBackgroundResource(R.drawable.roundedborder);

答案 2 :(得分:0)

您想要创建什么样的视图?对于像ListView这样的东西,我建议你使用下面的实现,只需进行更改即可获得所需的效果。

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

<gradient
    android:centerColor="#E6E6E6"
    android:endColor="#CCCCCC"
    android:startColor="#FFFFFF" 
    android:angle="270"/>
<!--
    <gradient
    android:startColor="#FF7500"
    android:centerColor="#FFCC00"
    android:endColor="#FF7500"
    android:angle="270"/>
-->

<stroke
    android:width="1dp"
    android:color="#A0000000" />

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

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

</shape>