在drawable里面定义xml,在background中引用
<Button android:id="@+id/completeBtn" android:layout_width="80dp" android:layout_height="40dp" android:layout_marginTop="32dp" android:text="完成" android:textColor="@color/white" android:textSize="18sp" android:background="@drawable/green_radius"/>
1. 圆角矩形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#10B703" /> <!-- 应该是圆角 --> <corners android:radius="4dp" /> </shape> </item> </layer-list>
2. 左右边框为半圆的矩形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#10B703" /> <!-- 应该是控件高度的一半 --> <corners android:radius="25dp" /> </shape> </item> </layer-list>
3. 带边框的圆角矩形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <!-- 边框 --> <stroke android:color="@color/grey97" android:width="1px"/> <!-- 主背景色 --> <solid android:color="@color/white" /> <!-- 圆角 --> <corners android:radius="4dp" /> </shape> </item> </layer-list>
4. 只有部分边角是圆角、别的是直角的矩形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <stroke android:color="@color/grey97" android:width="1px"/> <solid android:color="@color/white" /> <!-- 需要圆角的地方设置大于0的数值 --> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="4dp" android:topLeftRadius="4dp" android:topRightRadius="0dp"/> </shape> </item> </layer-list>
refer Creating a rectangle shape with only two rounded edges
5. 某个边框不显示的矩形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 不需要的边框标识为边框的width负值 --> <item android:left="-1px"> <shape> <stroke android:color="@color/grey97" android:width="1px"/> <solid android:color="#F0F0F0" /> <!-- 圆角控制 --> <corners android:bottomRightRadius="4dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="4dp"/> </shape> </item> </layer-list>
refer Open-sided Android stroke
6. 圆形
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <!-- 由控件定义的地方保证高宽相等 --> <shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/white" /> <stroke android:color="#DCDCDC" android:width="1dp"/> </shape> </item> </layer-list>
7. 点击变换背景
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 正常无点击的情况 --> <item android:state_pressed="false"> <shape> <!-- 可以添加stroke等其他特征 --> <solid android:color="@color/color1" /> <corners android:radius="25dp" /> </shape> </item> <!-- 点击时的情况 --> <item android:state_pressed="true"> <shape> <solid android:color="@color/color2" /> <corners android:radius="25dp" /> </shape> </item> </selector>
8. ProgressBar颜色渐变,在progressDrawable中引用
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 初始背景 --> <item android:id="@android:id/background"> <shape> <gradient android:startColor="#ff9d9e9d" android:endColor="#ff9d9e9d" /> </shape> </item> <!-- 过程中的渐变 --> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:startColor="@color/light_orange" android:endColor="@color/main_orange" /> </shape> </clip> </item> </layer-list>
refer How to Customize a Progress Bar In Android
Custom Drawable for ProgressBar/ProgressDialog
9. 普通的线性渐变
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:angle="0" android:startColor="#C8C8C8" android:centerColor="#979797" android:endColor="#C8C8C8" android:type="linear" /> </shape> </item> </layer-list>
相关推荐
其功能包括为每个图表中的对象(节点或者连接线)分配不同的颜色,字体,形状,风格,图片,文字等。节点移动后仍然保持连接。支持Metafiles文件,支持序列化,多层撤消/重做,打印,缩放,贝塞尔曲线和样条曲线,...
实例110 通过定义方法求一个数的平方 133 实例111 使用重载方法实现不同类型数据的计算 135 5.2 结构与类 136 实例112 通过结构计算矩形的面积 136 实例113 通过类继承计算梯形面积 137 实例114 封装类实现一个简单...
实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...
2.1.7 Control类——定义控件基类 131 2.1.8 Environment类——提供当前环境和平台的信息 134 2.1.9 Form窗体——可视化界面 136 2.1.10 FormClosed事件——关闭窗体后事件 139 2.1.11 FormClosing事件——关闭窗体...
java.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的 Java 2D 类。 java.awt.im 提供输入方法框架所需的类和接口。 java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的...