Android 基础知识4-3.3 Button(按钮)与ImageButton(图像按钮)详解

本文详细介绍了Android中的Button和ImageButton控件的使用,包括在XML布局中的属性设置,按钮点击监听事件的三种实现方式:匿名内部类、独立类实现和接口形式。还讨论了StateListDrawable在实现不同状态下的按钮效果中的应用,以及如何通过代码创建圆角按钮。文章适合Android初学者学习。
摘要由CSDN通过智能技术生成

一、引言

        今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,所以TextView上很多属性也可以应用到Button 上!我们实际开发中对于Button的,无非是对按钮的几个状态做相应的操作,比如:按钮按下的时候 用一种颜色,弹起又一种颜色,或者按钮不可用的时候一种颜色这样!上述实现无非是通过 StateListDrawable这种Drawable资源来实现,即编写一个drawable的资源文件,就说这么多, 直接开始本节内容~

二、在xml布局文件中的使用(属性)

layout_width:宽(=wrap_content or ...)(必要)

layout_height:高(=wrap_content or ...)(必要)

id:建议命名为你个人对Button/ImageButton的缩写_Activity name_功能/数字/字母(如:btn_main_0、ibtn_main_0)

layout_weight:权重-各个控件等高或等宽时要用到

text:文本内容

letterSpacing:文本间的间距(如:0.5)

textColor:文本颜色

textSize:文本字体大小

textStyle:文本风格(normal正常(默认)、bold加粗、italic倾斜)

注:可选多个值(android:textStyle="bold|italic");

gravity:文本的位置(center居中(默认)、……)

background:背景(xml文件、图片)

ellipsize:文字太长时显示省略号(end末尾、start开头、marquee滚动、middle中间、none无)

layout_marginTop:与上边控件的距离

layout_marginBottom:与下边控件的距离:

layout_marginLeft:与左边控件的距离

layout_marginRight:与右边控件的距离

maxWidth:最大宽度

maxHeight:最大高度

maxEms:代码中输入的最多的元素个数

maxLength:代码中输入文本的最大长度(常用)

maxLines:最大行数

minLines:最小行数

minWidth:最小宽度

minHeight:最小高度

padding:文本距离上下左右方向的大小

paddingTop:文本距离上边的大小

paddingBottom:文本距离下边的大小

paddingLeft:文本距离左边的大小

paddingRigh:文本距离右边的大小

三、按钮点击监听事件

Button与ImageButton自身都有一个onClick点击事件,通过自身的.setOnClickListener(OnClickListener)的方法添加点击事件。

所有控件都有一个OnClick事件。通过点击事件的监听可以实现点击后发生什么动作。

监听事件实现的几种方法:

1.匿名内部类

2.独立类的实现

3.接口的形式实现 

(1)、匿名内部类的实现Button监听事件

1.初始化控件

2.通过findViewById返回一个view对象,然后转换成Button 赋值给初始化的控件

3.设置Button的监听器,通过监听器实现点Button要操作的事情

XML代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录" />

    <ImageButton
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyxhzdm

你的鼓励是我创作的最大动力!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值