安卓基础学习 Day22|按钮的禁用与恢复
文章目录
- 目标效果
- 主布局资源文件
- 主界面
- 时间`DateUtil`文件
按钮通常的两种状态
不可用状态:按钮不允许点击,即使点击了也没反应,同时按钮文字为灰色
可用状态:按钮允许点击,点击按钮会触发点击事件,同时按钮文字为正常的黑色
enabled
属性控制:true为允许点击,false为不允许点击
目标效果
点击【启用测试按钮】实现启用【测试按钮】按钮,点击【禁用测试按钮】禁用【测试按钮】按钮。按钮【测试按钮】是接收上面两按钮的执行效果
主布局资源文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ButtonEnableActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/btn_enable"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:textColor="@color/black"android:textSize="17sp"android:text="启用测试按钮"/><Buttonandroid:id="@+id/btn_disable"android:layout_width="0dp"android:layout_weight="1"android:textColor="@color/black"android:textSize="17sp"android:layout_height="wrap_content"android:text="禁用测试按钮"/></LinearLayout><Buttonandroid:id="@+id/btn_test"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="#888888"android:textSize="17sp"android:text="测试按钮"android:enabled="false"/><TextViewandroid:id="@+id/tv_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="@color/black"android:textSize="17sp"android:text="这里是查看测试按钮的结果"/></LinearLayout>
效果展示
主界面
达到启用与禁用效果
import androidx.appcompat.app.AppCompatActivity;import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class ButtonEnableActivity extends AppCompatActivity implements View.OnClickListener {private Button btn_test;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_button_enable);//通过资源标识符获取控件实例Button btn_enable = findViewById(R.id.btn_enable);Button btn_disable = findViewById(R.id.btn_disable);btn_test = findViewById(R.id.btn_test);TextView tv_result = findViewById(R.id.tv_result);//设置点击事件btn_enable.setOnClickListener(this);btn_disable.setOnClickListener(this);btn_test.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.btn_enable://启用当前控件btn_test.setEnabled(true);//设置文字颜色btn_test.setTextColor(Color.BLACK);break;case R.id.btn_disable://启用当前控件btn_test.setEnabled(false);//设置文字颜色btn_test.setTextColor(Color.GRAY);break;}}
}
实现效果
点击【测试按钮】下方会显示文字
import androidx.appcompat.app.AppCompatActivity;import android.graphics.Color;
import android.os.Bundle;import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class ButtonEnableActivity extends AppCompatActivity implements View.OnClickListener {private Button btn_test;private TextView tv_result;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_button_enable);//通过资源标识符获取控件实例Button btn_enable = findViewById(R.id.btn_enable);Button btn_disable = findViewById(R.id.btn_disable);btn_test = findViewById(R.id.btn_test);tv_result = findViewById(R.id.tv_result);//设置点击事件btn_enable.setOnClickListener(this);btn_disable.setOnClickListener(this);btn_test.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.btn_enable://启用当前控件btn_test.setEnabled(true);//设置文字颜色btn_test.setTextColor(Color.BLACK);break;case R.id.btn_disable://启用当前控件btn_test.setEnabled(false);//设置文字颜色btn_test.setTextColor(Color.GRAY);break;case R.id.btn_test:String desc = String.format("%s 您点击了按钮: %s", DateUtil.getNowTime(), ((Button) view).getText());tv_result.setText(desc);break;}}
}
时间DateUtil
文件
import java.text.SimpleDateFormat;
import java.util.Date;public class DateUtil {public static String getNowTime() {SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");return sdf.format(new Date());}
}
实现效果
开始是禁用的点击【启动测试按钮】后点击【测试按钮】下方会显示点击事件,点击【禁用测试按钮】后再点击【测试按钮】就没有效果
安卓基础学习 Day22|按钮的禁用与恢复相关推荐
- 安卓基础学习之handler
安卓基础学习之handler 文章目录 安卓基础学习之handler 前言 一.Handler 二.handlder的使用流程讲解 1.简单的示例 2.handler的一些方法 总结 前言 记录安卓开 ...
- 【安卓基础】倒计时按钮封装(验证码倒计时按钮)
验证码按钮在项目的使用频率应该是100%,现在大多数应用都会采用手机号码登陆,通常都会支持发送验证码登陆的功能. 我在项目中也遇到这样的功能,特别在忘记密码的界面,我注意到一点:当发送验证码之后,要6 ...
- 安卓基础学习(从头开始,持续更新)
标题Android Studio学习 1.活动的基本用法 1.新建一个活动,会有主函数和其相对布局. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2IFw9Zb-1 ...
- 安卓基础学习 Day18|按键事件+手势操作(图片的放大、缩小、切换)
目录 一.按键事件的概念 二.案例演示 1.提出要求 2.主布局资源文件 3.主界面 一.触摸事件的概述 触摸分类 触摸动作 触摸监听器 触摸方法 触点个数与坐标 二.单点触摸 案例:移动米老鼠 提出 ...
- 安卓基础学习 Day19|安卓高级控件------下拉列表
目录 下拉列表(spinner) 下拉列表(数组适配器.列表框形式) 1.提出要求 2.主布局资源文件 3.主界面 4.条目布局文件 下拉列表(数组适配器.对话框形式) 1.提出要求 2.主布局资源文 ...
- 安卓基础学习 Day 6|常用控件---列表视图+古诗查看
目录 列表视图4要素 四种是适配器 古诗查看 古诗列表 1.主布局资源文件 2.诗歌列表项模板 3.字符串资源文件 4.主界面代码 5.启动应用.查看效果 古诗内容模板 1.内容模板的主布局资源文件 ...
- 传智黑马java基础学习——day22(File、递归)
右键点击图片,可另存为.
- 安卓基础学习 Day 21|Fragment(碎片)
目录 Fragment(碎片) Fragment 静态注册 碎片文件 碎片布局文件 碎片主界面 主界面 实现效果 Fragment声明周期 Fragment动态注册 标签栏 显示界面 图片和显示的文字 ...
- bootstrap基础学习【菜单、按钮、导航】(四)
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>boo ...
最新文章
- C语言感觉有意思得意东西!_只愿与一人十指紧扣_新浪博客
- java 端写的list 前端页面获取方法
- python的安装教程-python安装教程
- php 返回查询结果某个字段
- LSMW批处理使用方法(06)_步骤4、5
- 对“反射”的深入认识,你会发觉跟“解剖”一样
- TK8亮度蒙版PS插件:TKactions V8 for Mac 兼容ps2021
- python反转列表解析_Python语法糖之:列表解析、集合解析和字典解析
- python集合常用方法_Python 集合常用方法总结
- 大学python考试会挂科吗_学姐含泪劝告:4个“最难学”的大学专业,考试“挂科”是常态...
- Android11 如何将系统默认设置中文
- Remote Desktop Connection Manager2.7 安装+基本使用
- mti杂波抑制仿真 matlab,MTI+MTD+CFAR简单仿真
- idea 2021版本错误提示反应慢
- C基础:45道练习题汇总(初学者加油)
- Planning with Goal-Conditioned Policies读书笔记
- select标签 selected 选中状态动态查询
- 非精确线搜索 matlab,使用非精确线搜索Armijo算法确定步长的最速下降法(MATLAB)...
- python大作业代码_爬虫大作业(示例代码)
- 标准USB/Mini-USB接口,及OTG
热门文章
- 利用计算机课堂导入的好处,多媒体教学的好处
- PC端“交易猫”网站爬虫项目
- 腾讯云、阿里云和百度云的优劣势各是什么?
- 基于FPGA 的PLC/PAC 硬件运行时的实现
- 汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)...
- 量化投资常用技能——绘图篇 2:绘制移动平均线
- 交换机的转发原理 |VLAN详解·图解 |VLAN间通信 |华为,思科配置
- 求解全微分的原函数(二元)
- 你不知道的 async、await 魔鬼细节
- 小白的OpenGL整合环境入门(搭建以及简介)