本文摘自:http://androiddada.iteye.com/blog/1238909
在看他人的代码学习时,无意中发现的。很多应用中的ListView每个item的背景都是白色渐变的,感觉很有立体感.
之前我一直以为是一张美工提供的背景图,今天终于明白了,其实是可以在xml中定义出这种效果的!
先看看效果!
纯白色背景:
渐变:
模拟器的效果不如真机好,不过你可以根据自己需求跳转渐变范围~
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#ffffff"
android:endColor="#EDEDED"
android:angle="-90" />
</shape>
和图片一样 放入drawable 配置好把它看成图片调用就好了~
控件xml中 调用 android:background="@drawable/pull_to_refresh_header_background" 是不是很简单 ~
---------------------------------------以上是原文,以下为自己试验的代码-------------------------------------------------首先在res下新建目录drawable,再新建xml文件,white_gradient.xml 代码如下
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- android:shape="rectangle" 指形状为长方形 去掉好像没什么反应-->
<!-- 渐变 -->
<gradient
android:angle="-90"
android:endColor="#EDEDED"
android:startColor="#ffffff" />
<!-- 描边 -->
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<!-- 圆角 -->
<corners android:radius="5dp" />
<!-- 实心 -->
<!-- <solid android:color="#ff9d77"/> -->
<!-- 填充 不知道有什么用...目测是给Button之类的用的 -->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
然后在布局中调用此属性,代码如下
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="@drawable/white_gradient" >
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="#ffffff" >
</LinearLayout>
效果如下, 上层为自定义背景的布局,夏天为单纯白色背景的布局..