button的一些使用小常识(点击效果,button圆角,边框线的实现)
2016-07-22 15:01
645 查看
在drawable中创建一个xml的文件:
<?xml version="1.0" encoding="utf-8"?><!--android:shape属性代表绘制的图形形状 retangle;矩形,oval:椭圆 ,line:线 ring,环形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--stroke主要给我们所要画的图形进行描边 color:边框颜色,width:边框宽度,dashGap:虚线框的间隔,dashWidth:虚线框的宽度-->
<stroke
android:width="1dp"
android:color="@color/colorHuise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:半径,
14 bottomRightRadius:半径,topLeftRadius:半径,topRightRadius:半径-->
<corners android:radius="1dp" />
<!--padding主要设置内边距,也就是你装载的内容(大部分是Textview或者button)离图形边框的距离
23 bottom:下内边距,left:左内边距,right:右内边距,top:上内边距-->
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<!--这个就不需要讲了吧-->
<!--<size />-->
<!--主要设置你所画图形的填充色-->
<solid android:color="@color/colorBaise" />
<!--gradient主要指定一个渐变颜色的形状。-->
<!--<gradient-->
<!--android:angle="###"-->
<!--android:centerColor="###"-->
<!--android:centerX="###"-->
<!--android:centerY="###"-->
<!--android:endColor="###"-->
<!--android:gradientRadius="###"-->
<!--android:startColor="###"-->
<!--android:type="###"-->
<!--android:useLevel="###" />-->
</shape>
随后在<button>控件中使用,
android:background="@drawable/button_ys";
button的点击效果:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 获得焦点但未按下时的背景图片 -->
<item android:drawable="@color/colorbaise"
android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
<!-- 默认时的背景图片 -->
<item android:drawable="@color/colortianlanse" />
</selector>
样式和点击效果的统一:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 获得焦点但未按下时的背景图片 -->
<item android:drawable="@color/colorbaise"
android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
<!-- 默认时的背景图片 -->
<!--<item android:drawable="@color/colortianlanse" />-->
<item android:drawable="@drawable/button_custom" />
</selector>
关键就是最后一句。
至于修改button中的文字颜色,可以看我的另外一篇博客
<?xml version="1.0" encoding="utf-8"?><!--android:shape属性代表绘制的图形形状 retangle;矩形,oval:椭圆 ,line:线 ring,环形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--stroke主要给我们所要画的图形进行描边 color:边框颜色,width:边框宽度,dashGap:虚线框的间隔,dashWidth:虚线框的宽度-->
<stroke
android:width="1dp"
android:color="@color/colorHuise" />
<!--corners主要是设置我们所画图形四个角的半径 radius:四角半径 bottomLeftRadius:半径,
14 bottomRightRadius:半径,topLeftRadius:半径,topRightRadius:半径-->
<corners android:radius="1dp" />
<!--padding主要设置内边距,也就是你装载的内容(大部分是Textview或者button)离图形边框的距离
23 bottom:下内边距,left:左内边距,right:右内边距,top:上内边距-->
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<!--这个就不需要讲了吧-->
<!--<size />-->
<!--主要设置你所画图形的填充色-->
<solid android:color="@color/colorBaise" />
<!--gradient主要指定一个渐变颜色的形状。-->
<!--<gradient-->
<!--android:angle="###"-->
<!--android:centerColor="###"-->
<!--android:centerX="###"-->
<!--android:centerY="###"-->
<!--android:endColor="###"-->
<!--android:gradientRadius="###"-->
<!--android:startColor="###"-->
<!--android:type="###"-->
<!--android:useLevel="###" />-->
</shape>
随后在<button>控件中使用,
android:background="@drawable/button_ys";
button的点击效果:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 获得焦点但未按下时的背景图片 -->
<item android:drawable="@color/colorbaise"
android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
<!-- 默认时的背景图片 -->
<item android:drawable="@color/colortianlanse" />
</selector>
样式和点击效果的统一:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 获得焦点但未按下时的背景图片 -->
<item android:drawable="@color/colorbaise"
android:state_enabled="true" android:state_focused="true" android:state_pressed="false" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_enabled="true" android:state_pressed="true" />
<!-- 按下时的背景图片 -->
<item android:drawable="@color/colorbaise" android:state_checked="true" android:state_enabled="true" />
<!-- 默认时的背景图片 -->
<!--<item android:drawable="@color/colortianlanse" />-->
<item android:drawable="@drawable/button_custom" />
</selector>
关键就是最后一句。
至于修改button中的文字颜色,可以看我的另外一篇博客
相关文章推荐
- [转载]Activity中ConfigChanges属性的用法
- android之定时器AlarmManager
- android上改变listView的选中颜色
- Winform消除button按下出现的虚线简单实现方法
- Android编程之Button控件用法实例分析
- 在ASP.NET 2.0中操作数据之四十五:DataList和Repeater里的自定义Button
- ASP.NET 中 Button、LinkButton和ImageButton 三种控件的使用详解
- Jquery自定义button按钮的几种方法
- 验证控件与Button的OnClientClick事件详细解析
- 基于jQuery的Spin Button自定义文本框数值自增或自减
- 关于asp.net button按钮的OnClick和OnClientClick事件
- 关于WPF使用MultiConverter控制Button状态的详细介绍
- button没写type=button会导致点击时提交
- input、button的不同type值在ajax提交表单时导致的陷阱
- Android开发笔记之:如何屏蔽Button setClickable与setEnabled
- Android 控件(button)对齐方法实现详解
- 在javaScript中关于submit和button的区别介绍
- js触发asp.net的Button的Onclick事件应用
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件的方法
- 学习使用bootstrap基本控件(table、form、button)