Button 使用详解

极力推荐文章:欢迎收藏
Android 干货分享

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android
本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
一、Button 的继承关系
二、Button 简单使用举例
三、自定义 Button 选择器
四、Button 点击事件
五、onClick属性 实现点击事件
一、Button 的继承关系
Button 继承 TextView,具体关系如下:
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.Button
二、Button 简单使用举例
使用 xml 布局跟java代码动态设置TextView。
- 1.
xml布局如下:
<Button
android:id="@+id/button_id"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct" />
java代码中使用方法如下:
Button OnClickListener方法实现如下:
public class MyActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_layout_id);
final Button button = findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Code here executes on main thread after user presses button
}
});
}
}
三、 自定义 Button 选择器
自定义Button 选择器,可以更加友好的跟用户进行交互。
xml布局使用
<Button
android:id="@+id/btn_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_btn_green_selector"
android:text="一、自定义Button背景选择器 "
android:textColor="@color/white" />
- 2.
Button背景选择器实现
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下去的背景颜色显示效果 -->
<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
<!-- 获取焦点时背景颜色显示效果 -->
<item android:drawable="@drawable/btn_pressed" android:state_focused="true"/>
<!-- 没有任何状态下的背景颜色 -->
<item android:drawable="@drawable/btn_normal"/>
</selector>
java代码中点击实现 效果
public class ButtonMethod extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
// 一、自定义Button背景选择器、匿名内部类实现点击事件
Button mBtnSelector = (Button) findViewById(R.id.btn_selector);
mBtnSelector.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(ButtonMethod.this, "你点击了按钮选择器", 1).show();
}
});
// 一、自定义Button背景选择器、匿名内部类实现点击事件
}
}
- 4.
Button正常以及获取焦点图片素材


四、Button 点击事件
xml布局使用
<Button
android:id="@+id/btn_test"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="二、按钮点击事件 实现"
android:textColor="@color/white" />
java代码中点击实现 效果
public class ButtonMethod extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
// 二、按钮点击事件 实现
Button mButton = (Button) findViewById(R.id.btn_test);
BtnClick mBtnClick = new BtnClick();
mButton.setOnClickListener(mBtnClick);
// 二、按钮点击事件 实现
}
// 二、按钮点击事件 实现
class BtnClick implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(ButtonMethod.this, "你点击了按钮点击事件 实现", 1).show();
}
}
// 二、按钮点击事件 实现
}
五、onClick 属性 实现点击事件
xml布局使用
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_btn_white_selector"
android:onClick="BtnTestonClick"
android:text="三、使用 onClick 属性待替 Click 事件"
android:textColor="@color/grey" />
java代码中点击实现 效果
public class ButtonMethod extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
}
// 三、使用 onClick 实现点击事件
public void BtnTestonClick(View view) {
Toast.makeText(this, "你点击了onClick属性按钮", 1).show();
}
// 三、使用 onClick 实现点击事件
}
- 实现效果如下:

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

Button 使用详解的更多相关文章
- Android零基础入门第19节:Button使用详解
原文:Android零基础入门第19节:Button使用详解 Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮 ...
- Android -- TextView、button方法详解(2)
1. button按下状态的改变 Button bt1 = null; // 声明按钮对象 bt1 = (Button) findViewById(R.id.button1); // 获取按钮对象 b ...
- Android -- TextView、button方法详解(1)
1.TextView常规方法 TextView myTextView=null; //声明变量 myTextView=(TextView)findViewById(R.id.myTextView); ...
- Button、ImageButton及ImageView详解
Button.ImageButton及ImageView详解 在应用程序开发过程中,很多时候需要将View的background或者src属性设置为图片,即美观又支持点击等操作.常见的有Button. ...
- Xamarin.Android通知详解
一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...
- [转]keil使用详解
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...
- JavaScript事件详解-jQuery的事件实现(三)
正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...
- 【iOS自定义键盘及键盘切换】详解
[iOS自定义键盘]详解 实现效果展示: 一.实现的协议方法代码 #import <UIKit/UIKit.h> //创建自定义键盘协议 @protocol XFG_KeyBoardDel ...
- iOS开发——高级技术&本地化与国际化详解
本地化与国际化详解 效果如下: 英语: 中文: 具体实现如下: ...
随机推荐
- 利用mapWithState实现按照首字母统计的有状态的wordCount
最近在做sparkstreaming整合kafka的时候遇到了一个问题: 可以抽象成这样一个问题:有状态的wordCount,且按照word的第一个字母为key,但是要求输出的格式为(word,1)这 ...
- 微服务-springboot-activiti工作流
idea中安装aciviti并使用,链接地址:https://blog.csdn.net/qq_41728540/article/details/79506463 一.创建springboot项目,勾 ...
- Windows 应用容器化
背景 在这个时间点,我们可能已经对 Linux 容器使用已经达到熟练掌握的程度,因为 Docker 与 Kubernetes 都是最早为 Linux 平台设计.当我们从容器这项技术中体会到种种收益,对 ...
- 侦听器watch 监听单个属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java 垃圾收集总结
概述 垃圾收集(Garbage Collection,GC),它不是Java语言的伴生产物,它的历史比Java还要久远. 人们主要思考GC需要完成的3件事情: 哪些内存需要回收? 什么时候回收? 如何 ...
- asp.net core系列 68 Filter管道过滤器
一.概述 本篇详细了解一下asp.net core filters,filter叫"筛选器"也叫"过滤器",是请求处理管道中的特定阶段之前或之后运行代码.fil ...
- CDQZ集训DAY2 日记
依然很爆炸. T1上来有50分暴力分,打完后注意到了后50分的随机数据,开始想怎么去对付他.然后就开始思考随机数据意味着什么.想了想,想打一个扫描线或者分治.决策了一下还是打了一个扫描线+链表.然而只 ...
- [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]列名 'user1' 无效
唉,还是自己对php执行sql语句运用不熟练.... 我的错误代码是这样的,(解决办法在最后) $re=sqlsrv_query($conn, "select * from visitor ...
- MyBatis foreach标签的用法
From<MyBatis从入门到精通> 一.foreach实现in集合 1.映射文件中添加的代码: <!-- 4.4 foreach用法 SQL语句有时会使用IN关键字,例如id i ...