极力推荐文章:欢迎收藏

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" />
    1. 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 选择器,可以更加友好的跟用户进行交互。

    1. 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>
    1. 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 点击事件

    1. 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" />
    1. 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 属性 实现点击事件

    1. 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" />
    1. 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 实现点击事件
}
    1. 实现效果如下:

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

Button 使用详解的更多相关文章

  1. Android零基础入门第19节:Button使用详解

    原文:Android零基础入门第19节:Button使用详解 Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮 ...

  2. Android -- TextView、button方法详解(2)

    1. button按下状态的改变 Button bt1 = null; // 声明按钮对象 bt1 = (Button) findViewById(R.id.button1); // 获取按钮对象 b ...

  3. Android -- TextView、button方法详解(1)

    1.TextView常规方法 TextView myTextView=null; //声明变量 myTextView=(TextView)findViewById(R.id.myTextView); ...

  4. Button、ImageButton及ImageView详解

    Button.ImageButton及ImageView详解 在应用程序开发过程中,很多时候需要将View的background或者src属性设置为图片,即美观又支持点击等操作.常见的有Button. ...

  5. Xamarin.Android通知详解

    一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...

  6. [转]keil使用详解

    第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...

  7. JavaScript事件详解-jQuery的事件实现(三)

    正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...

  8. 【iOS自定义键盘及键盘切换】详解

    [iOS自定义键盘]详解 实现效果展示: 一.实现的协议方法代码 #import <UIKit/UIKit.h> //创建自定义键盘协议 @protocol XFG_KeyBoardDel ...

  9. iOS开发——高级技术&本地化与国际化详解

    本地化与国际化详解 效果如下:   英语:                                                                    中文: 具体实现如下: ...

随机推荐

  1. jmeter性能测试前及测试后

    压测前:           1.压力测试两种场景:                    1)单场景,压测单个接口. 2)混合场景,多个接口关联压测. 2.压测时间:                ...

  2. DFS(一):深度优先搜索的基本思想

    采用搜索算法解决问题时,需要构造一个表明状态特征和不同状态之间关系的数据结构,这种数据结构称为结点.不同的问题需要用不同的数据结构描述. 根据搜索问题所给定的条件,从一个结点出发,可以生成一个或多个新 ...

  3. 设计模式-模块方法模式(TemplateMethod)

    模块方法模式是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为. UML图: 具体代码: /** * 抽象-模块方法模式核心 */ ...

  4. HTTP请求代理类(GET 、 POST 、PUT 、DELETE)

    package com.jm.http.tools; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  5. LSI 9211-8I阵列卡IR模式Update为IT模式操作步骤!

    以下是DOS系统环境下操作(也可以在windows.linux环境下,只要找到对应的tool就可以)相对应的tool官网可以下载 链接:https://www.broadcom.com/support ...

  6. ecshop面包屑修改

    找到includes 找到lib_main.php 大约163样左右 /* 处理有分类的 */这段代码下面的一行修改成的对应的自己网站的分类,类似这样: 注释掉180行到194行左右,然后添加自己的分 ...

  7. python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下(详解)

    简介 发邮件前我们需要了解的是邮件是怎么一个形式去发送到对方手上的,通俗点来说就是你写好一封信,然后装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去,其他的就不关心了,只是关心时间,而电子邮 ...

  8. 统计greenplum_postgresql数据占用存储情况

    1. 场景描述 因项目数据量略大,每天大概有几百g的存储需求,并且是多项目公用greenplum集群,需要定期检查一下磁盘情况. 2. 解决方案 2.1 按用户/项目统计 2.1.1 SQL语句 SE ...

  9. error: 'commit' is not possible because you have unmerged files.

    解决方案: 1.把修改的文件add下,如:git add bidder_mod/src/common/dragon_bidder_data.cc2.git commit

  10. 简单的量子算法(二):Simon's Algorithm

    前情回顾: 简单的量子算法(一):Hadamard 变换.Parity Problem 好的,现在开始正版的故事,Simon's Algorithm 问题: 有一个secret string,是n位的 ...