android 的渐变背景设置文件
main.xml:
<button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="testshapebutton"
    android:background="@drawable/button_selector"
    />
button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <!-- 渐变 -->
            <gradient
                android:startcolor="#ff8c00"
                android:endcolor="#ffffff"
                android:type="radial"
                android:gradientradius="50" />
            <!-- 描边 -->
            <stroke
                android:width="2dp"
                android:color="#dcdcdc"
                android:dashwidth="5dp" 
                android:dashgap="3dp" />
            <!-- 圆角 -->
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
<item android:state_focused="true" >
        <shape>
            <gradient
                android:startcolor="#ffc2b7"
                android:endcolor="#ffc2b7"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
<item>       
        <shape>
            <solid android:color="#ff9d77"/>
            <stroke
                android:width="2dp"
                android:color="#fad3cf" />
            <corners 
                android:toprightradius="5dp"
                android:bottomleftradius="5dp"
                android:topleftradius="0dp"
                android:bottomrightradius="0dp"
            />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>
---------------------------------------
<shape>
            <!-- 实心 -->
            <solid Android:color="#ff9d77"/>
            <!-- 渐变 -->
            <gradient
                android:startcolor="#ff8c00"
                android:endcolor="#ffffff"
                android:angle="270" />
            <!-- 描边 -->
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <!-- 圆角 -->
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
-------------
solid:实心,就是填充的意思
gradient:渐变
android:startcolor和android:endcolor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientradius="50"。
  android:angle网 上有各种说法,这里,我说说自己的实验结果,渐变的时候,最原始的,即android:angle=“0”时,是从左到右,按照开始颜色到结束颜色来渲染 的,android:angle=“90”是从上到下来渲染的,android:angle=“180”是从右到左来渲染 的,android:angle=“360”和android:angle=“0”是一样的,所以这里应该是这样的,渲染时按照最原始的渲染色板(把控件内部看作一块可以绕中心旋转的板子)围绕控件中心来旋转相应的度数,即android:angle里面的值就是所需要旋转的角度,只是这个旋转角度必须是45的整数倍
stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。我们还可以把描边弄成虚线的形式
android:dashwidth="5dp" 
android:dashgap="3dp"
其中android:dashwidth表示'-'这样一个横线的宽度,android:dashgap表示之间隔开的距离。
corners:圆角
android:radius为角的弧度,值越大角越圆。
我们还可以把四个角设定成不同的角度,方法为:
<corners 
        android:toprightradius="20dp"    右上角
        android:bottomleftradius="20dp"    右下角
        android:topleftradius="1dp"    左上角
        android:bottomrightradius="0dp"    左下角
 />
这里有个地方需要注意,bottomleftradius是右下角,而不是左下角,这个不要记错了。
padding:间隔
中间文字距离边框的间隔。
android 的渐变背景设置文件的更多相关文章
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
		最近一个困扰很久的问题,渐变效果的png图片,设置为控件图片或background时,在eclipse上看着没有什么问题,但是在设备上运行时,可以看到明显的一圈圈的轮廓线,图片严重失真.在网上goog ... 
- Android LinearLayout 渐变背景
		更多 参考 Drawable Resources | Android Developers main_header.xml: <?xml version="1.0" enc ... 
- android  常用渐变背景绘制
		从上到下绘制如图所示 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android= ... 
- android Button 切换背景,实现动态按钮和按钮颜色渐变
		android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变 1.右键单击项目->new->Oth ... 
- Android 用属性动画自定义view的渐变背景
		自定义view渐变背景,同时监听手势自动生成小圆球. 宿主Activity如下: package com.edaixi.tempbak; import java.util.ArrayList; imp ... 
- 将android界面背景设置为黑色
		屏幕背景设置为黑色的几种方式: 新建项目时候 第二次next之后(不同sdk版本号可能不同),Background Color项点击可选. 开公布局文件,选择视图查看 就是下边二个选项卡中的第一个(G ... 
- Android webview背景设置为透明无效 拖动时背景闪烁黑色
		Adndroid 2.X的设置 webview是一个使用方便.功能强大的控件,但由于webview的背景颜色默认是白色,在一些场合下会显得很突兀(比如背景是黑色). 此时就想到了要把webview的背 ... 
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
		此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ... 
- iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元
		目 录 1. 概述... 2 2. 搜索应用... 2 3. 多数据源绑定... 3 4. 视图背景设置颜色... 4 5. 多级别文件夹 ... 
随机推荐
- JZOJ 5791. 【NOIP2008模拟】阶乘
			5791. [NOIP2008模拟]阶乘 (File IO): input:factorial.in output:factorial.out Time Limits: 1000 ms Memory ... 
- JZOJ 3463. 【NOIP2013模拟联考5】军训
			3463. [NOIP2013模拟联考5]军训(training) (Standard IO) Time Limits: 2000 ms Memory Limits: 262144 KB Deta ... 
- The Moving Points - HDU - 4717 (模拟退火)
			题意 二维空间中有\(n\)个运动的点,每个点有一个初始坐标和速度向量.求出一个时间\(T\),使得此时任意两点之间的最大距离最小.输出\(T\)和最大距离. 题解 模拟退火. 这个题告诉了我,初始步 ... 
- poj 3259  时光穿梭问题 bellman_ford算法
			题意:有n个空地,有m条双向大路,w条时光隧道单向路.问能否回到过去? 思路:判断是否有负环存在,如果有负环存在那么就可以一直小就可以回到过去了 创建源顶点 V到其他顶点的距离d 初始为INF d[1 ... 
- Leetcode 105. 从前序与中序遍历序列构造二叉树
			题目链接 题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder ... 
- python单元测试用例
			demo1.py #!/usr/bin/python # encoding: utf-8 def hello(): print "i am in demo1" def add(x, ... 
- HDU 1535 S-Nim(SG函数)
			S-Nim Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ... 
- TCP/IP网络编程之套接字与标准I/O
			标准I/O函数 标准标准I/O函数有两个优点: 标准I/O函数具有良好的移植性 标准I/O函数可以利用缓冲提高性能 关于移植性无需过多解释,不仅是I/O函数,所有标准函数都具有良好的移植性.因为,为了 ... 
- C#入门篇6-2:字符串操作 string常用的函数
			//String 字符串的常见操作 public static void Fun1() { string MyStr = " Hello World! "; //length长度属 ... 
- MFC深入浅出读书笔记第三部分1
			第八章 Document-View 深入探讨(总结) 1.Document Document 在MFC 的CDocument 里头被具体化.CDocument 本身并无任何具体数据,它只是提供一个空壳 ... 
