点击按钮是最常用的几个组件了,在android中是Button类,区别于Textview,Button最主要的特点是焦点和默认点击效果非常集中,我们一起了解一下。
基本写法:
<Button
android:id="@+id/btn_click_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button文字" />
常用api介绍:
android:drawable
放一个drawable资源
android:drawableTop
可拉伸要绘制的文本的上面
android:drawableBottom
可拉伸要绘制的文本的下面
android:drawableLeft
可拉伸要绘制的文本的左侧
android:drawableRight
可拉伸要绘制的文本的右侧
android:text
设置显示的文本
android:textColor
设置显示文本的颜色
android:textSize
设置显示文本字体大小
android:background
可拉伸使用的背景
android:onClick
设置点击事件
android:state_pressed
是否按下,如一个按钮触摸或者点击。
android:state_focused
是否取得焦点,比如用户选择了一个文本框。
android:state_hovered
光标是否悬停,通常与focused state相同,它是4.0的新特性
android:state_selected
被选中状态
android:state_checkable
组件是否能被check。如:RadioButton是可以被check的。
android:state_checked
被checked了,如:一个RadioButton可以被check了。
android:state_enabled
能够接受触摸或者点击事件
android:state_activated
被激活
android:state_window_focused
应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了
设置点击事件
findViewById(R.id.btn_click_one).setOnClickListener(onClickListener);
设置背景图片
android:background="@mipmap/icon_button_bg"
设置背景shape,android:background="@drawable/shape_button_test",可以自定义Button的外观,从效果图中我们可以看到Button背景透明,有边框,有弧度。
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 默认背景色 -->
<solid android:color="@android:color/transparent"/>
<!-- 边框 -->
<stroke
android:width="1dp"
android:color="@android:color/black" />
<!-- 设置弧度 -->
<corners
android:radius="20dp"/>
</shape>
1. solid 表示背景颜色。
2. corners 表示圆角程度。
3. stroke表示边框线,可以设置边框和背景色
自定义点击效果
在drawanble新建一个selector的根布局:
常见属性介绍:
android:state_selected 选中
android:state_focused 获得焦点
android:state_pressed 点击
android:state_enabled 设置是否响应事件,指所有事件
自定义一个点击的按钮:
小tips:
1.默认显示大写情况
我们在xml文件Button控件设置的文字明明是“Button”,但是最终显示在界面上面的情况是“BUTTON”,这是由于系统可能对Button中的所有英文字母自动转换成大写了,如果不是你想要的效果,就在xml文件Button控件里面设置下面的属性:
android:textAllCaps="flase";
欢迎小伙伴们留言评论,指出文中的错误或者不足,非常感谢!