常用组件:android的按钮组件Button

点击按钮是最常用的几个组件了,在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";

欢迎小伙伴们留言评论,指出文中的错误或者不足,非常感谢!

发布了58 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_34203714/article/details/100778949