Handler小例子,更换按钮的背景颜色

这几天一直在忙着开发一个新项目,写代码写得昏天黑地的,今天抽了几分钟时间写了下极简单的例子,改天有时间再写啦!

布局文件很简单,就一个Button:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/LinearLayout1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<Button

android:id="@+id/handler_btn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="ColorButton"/>

</RelativeLayout>

主界面代码,有详细的注释:

public class MainActivity extends Activity {

/**按钮*/

private Button btn;

/** 更新UI主线程对象 */

private Handler handler = new Handler() {

/** 异步接受消息 */

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

/** 获取Map数据 */

Bundle bundle = msg.getData();

/** 取得颜色值 */

int color = bundle.getInt("color");

MainActivity.this.btn.setBackgroundColor(color);//更新按钮的背景颜色

}

};

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.btn = (Button) findViewById(R.id.handler_btn);

btn.setOnClickListener(new btnOnClickListener());

}

class btnOnClickListener implements OnClickListener {

public void onClick(View v) {

MyThread my = new MyThread();

/**启动线程 */

new Thread(my).start();

}

};

class MyThread implements Runnable {

public void run() {

try {

Thread.sleep(3000);// 子线程睡眠3秒

} catch (InterruptedException e) {

e.printStackTrace();

}

/**发消息 */

Message msg = new Message();

Bundle bundle = new Bundle();

bundle.putInt("color", Color.RED);

msg.setData(bundle);

/**发送消息,通知主线程更新 */

MainActivity.this.handler.sendMessage(msg);

}

};

}

时间: 2024-10-27 19:07:02

Handler小例子,更换按钮的背景颜色的相关文章

Atitit 动态按钮图片背景颜色与文字组合解决方案

转换背景颜色,setFont("cywe_img", fontScale, 50, 5) 设置文字大小与坐标 文字分拆,使用字根组合,也就256个字根就够了. public static void main(String[] args) throws FileNotFoundException { long startTime = System.currentTimeMillis(); // 获取开始时间 String out = "C:\\0workspace\\AtiPl

解决浏览器窗口变小后右侧出现空白背景颜色或者图片不能全屏填充的方法

在做全屏网页的时候会出现这样的情况: 窗口最大化显示时正常,当缩小窗口时,出现了滚动条,将滚动条拖动到右侧就会出现空白,背景颜色都不显示但是元素还在例如下图: 全屏显示正常的,然后把窗口缩小 就会出现这样的效果,解决办法就是给body加一个最小高度,至于数值大小取决于网页的基本宽度,或者就是你导航元素占据的宽度(不是背景),就以此网页为例,网页主体1200px那么就在css中添加最小高度 body{ min-height:1200px; } 然后问题就解决了

onenote小技巧-改变表格的背景颜色

2018年8月6日 16:53 一.表格的背景颜色: 如下: 日历 周一 周二 周三 操作步骤: 1.选中要改变颜色的行或列右键 2.选择"表格"->"底纹"->选择颜色,操作结束. 原文地址:https://www.cnblogs.com/pltang/p/9431471.html

Python3 Tkinter基础 Button bg 设置按钮的背景颜色

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: import tkinter as tk #面向对象的编程思想 class APP : def __init__(self,master) : frame = tk.Frame(master) #框架,可是到底什么是框架呢? frame.pack() #自动选定

Python3 tkinter基础 Button bg 按钮的背景颜色

? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.11 type setting : Markdown ? code """ @Author : 行初心 @Date : 18-10-1 @Blog : www.cnblogs.com/xingchuxin @GitHub : github.com/GratefulHeartCoder """ im

GDI+小例子

原文链接地址:http://www.cnblogs.com/chuanzifan/archive/2011/11/26/2264507.html 1.在stdafx.h中 #include <GdiPlus.h> using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib") 2.在APP.cpp中声明全局变量 ULONG_PTR m_gdiplusToken; 3.注意在App的InitInstance函数里, 在

改变Android按钮背景颜色的高效方法

本文将介绍一种有效改变Android按钮颜色的方法. 按钮可以在状态改变时改变其颜色(例如按下,禁用,高亮显示).但是,这需要一一说明每个状态.这篇文章将提供你一个根据状态变化轻松改变按钮颜色的方法.如果你正在写自定义视图,那么不妨也来读一读,因为中间我会涉及到如何用自定义属性实现自定义视图的相关内容. 如何实现 Android提供了灵活的绘制选择机制,可根据视图状态转变视图外观.每个状态通过一个单独的部分而存在.例如:在正常.禁用.按下.高亮状态下的按钮有着不同的背景颜色.请看下面的代码示例:

PS更换证件照背景颜色

同学们大家好,我是阿宝老师,今天给大家讲一下如何使用PS更换证件照背景色. 目前使用PS更换证件照底片有三种方式,这三种方式虽有不同,但是最终目的都是将人像从背景中抠出来.扣取人像有三种方法可供选取,分别是手动选取法,容差抠图法,通道抠图法,切入主题: 手动选取法 这种方法最为简单,直接使用快速选取工具,然后对局部区域进行逐步调节,具体操作步骤为 选中快速选取工具,之后依据具体情况进行增删,而后把人像抠出来.这样抠出来的图容易有锯齿,建议使用光滑处理.光滑处理的步骤如下:选择---修改---平滑

JavaGUI——设置框架背景颜色和按钮颜色

import java.awt.Color; import javax.swing.*; public class MyDraw { public static void main(String[] args) { //创建框架 JFrame myFrame=new JFrame("图画"); //myFrame.setLocation(200, 300);//第1参数表示离左屏幕边框距离,第2参数表示离屏幕上边框距离 myFrame.setSize(600, 400); myFram