Button 使用详解
2024-09-01 04:42:20
极力推荐文章:欢迎收藏
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 实现点击事件
}
- 实现效果如下:
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
最新文章
- @rpath/libswiftCore.dylib问题
- .net MVC简介、项目中每个文件夹的功能
- 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!
- git删除中文文件
- C# Eval在asp.net中的用法及作用
- cocos2d-x3.6 连连看随机地图实现
- jquery选择器之内容过滤选择器
- iOS开发实战-基于SpriteKit的FlappyBird小游戏
- 【mongodb系统学习之四】查看mongodb进程
- C#图解教程 第十五章 接口
- docker容器与宿主主机之间拷贝文件
- rabbitmq系统学习(三)集群架构
- 莫烦keras学习自修第二天【backend配置】
- 1、mysql初识
- Arch Linux pacman 与其他发行版操作比较
- uva 10816 Travel in Desert(简单的好题~两种方法)
- Struts2学习笔记二:开发流程
- R语言统计分析应用与SAS、SPSS的比较
- A+B+C问题
- TensorFlow入门(三)多层 CNNs 实现 mnist分类
热门文章
- 如何使用JavaScript导入和导出Excel文件
- ZOJ 3955:Saddle Point(思维)
- Codeforces 781A:Andryusha and Colored Balloons(DFS染色)
- 安装Eclipse for MAC 苹果版
- LinkedList源码分析:JDK源码分析系列
- 2050编程赛 冰水挑战 HDU 6495
- Centos7:yum安装MySQL5.7后如何设置root密码
- HDU5521 Meeting(dijkstra+巧妙建图)
- 深入理解Java虚拟机二 阅读笔记
- jenkins +Jmeter 完成分布式性能测试