图形美化这部分没有什么逻辑,比较琐碎。我整理如下:
button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true" android:color="#FF6666"/>
<!-- default -->
<item android:color="#6699FF"/>
<!-- 状态列表中一个与对象当前状态匹配的项目会被使用。 -->
<!-- 因此,如果列表中的第一项没有包含以上任何一种状态属性, -->
<!-- 那么每次都会使用这个项目,因此默认设置应该始终被放到最后。 -->
</selector>
引用:android:textColor=”@color/button_selector”
layers.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap
android:gravity="center"
android:src="@drawable/red" />
</item>
<item
android:left="10sp"
android:top="10sp">
<bitmap
android:gravity="center"
android:src="@drawable/yellow" />
</item>
<item
android:left="5sp"
android:top="5sp">
<bitmap
android:gravity="center"
android:src="@drawable/blue" />
</item>
</layer-list>
引用:android:src=”@drawable/layers”
button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/red" android:state_pressed="true"></item>
<item android:drawable="@drawable/yellow"></item>
</selector>
引用:android:background=”@drawable/button_selector”
button_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:topLeftRadius="20sp"
android:topRightRadius="20sp" />
<gradient
android:angle="45"
android:endColor="#80FF00FF"
android:startColor="#FFFF0000"
android:type="linear" />
<padding
android:bottom="10sp"
android:left="10sp"
android:right="10sp"
android:top="10sp" />
<!-- 变相改变文字大小 -->
<size
android:height="200sp"
android:width="200sp" />
<!-- 可以修改button的宽高 -->
<solid android:color="#99CCFF" />
<!-- 修改背景色 -->
<stroke android:width="10sp"
android:color="#000000"/>
</shape>
引用:android:background=”@drawable/button_shape”