案例演示

此案例实现思路:通过ToggleButton控件,ImageView控件实现

---xml代码:

<!-- textOn:true textOff:falase[s1] -->

<ToggleButton

android:id="@+id/toggleB utton1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:checked="false[s2] "

android:textOn="[s3] "

android:textOff="" />

<ImageView

android:id="@+id/imageView1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/off" />

----java代码:

1. 正如普通控件的使用思路

(首先定义控件、初始化控件)

private ToggleButton tb;

private ImageView img;

tb=(ToggleButton) findViewById(R.id.toggleButton1);

img=(ImageView) findViewById(R.id.imageView1);

2. 设置控件的监听器

-----------------通过接口实现监听功能

--public class MainActivity extends Activity implements OnCheckedChangeListener()

--tb.setOnCheckedChangeListener(this);

--写出此接口所必须的方法

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

/*

* 当tb被点击时,当前方法被执行

* buttonView------代表被点击控件的本身

* isChecked-----代表被点击控件的状态

*

* 当点击这个tb的时候,更换img的背景

*/

img.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off[s4] );

}


[s1]textOn:当按钮被点击

textOff:当按钮未被点击

[s2]此条语句可写可不写,表示现在的状态

[s3]设置文字状态

[s4]此处为条件语句

Android成长日记-使用ToggleButton实现灯的开关的更多相关文章

  1. Android成长日记-Android四大组件之Service组件的学习

    1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它 ...

  2. Android成长日记-数据存储之SQLite[1]

    [SQLite简介] SQLite是R.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行 ---支持高达2TB大小的数据库: ...

  3. Android成长日记-五大布局

    1. 五布局之线性布局LinearLayout 特点:它包含的子控件将以横向或竖向的方式排列 ps:android:gravity=”center|bottom”(gravity允许多级联用) Tip ...

  4. Android成长日记-数据存储之SharedPreferences

    数据篇-SharedPreferences Android的四种存储方式 1. SharedPreferences 2. SQLite 3. Content Provider 4. File ---- ...

  5. Android成长日记-使用ViewFlipper实现屏幕切换动画效果

    (一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...

  6. Android成长日记-使用PagerAdapter实现页面切换

    Tip:此方式可以实现页面切换 1. 创建view1.xml,view2.xml,view3.xml,main.xml 在main.xml中创建 <android.support.v4.view ...

  7. Android成长日记-使用Intent实现页面跳转

    Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...

  8. Android成长日记-使用GridView显示多行数据

    本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...

  9. Android成长日记-仿跑马灯的TextView

    在程序设计中有时候一行需要显示多个文字,这时候在Android中默认为分为两行显示,但是对于必须用一行显示的文字需要如何使用呢? ----------------------------------- ...

随机推荐

  1. vue 滚动加载

    <template> <div class="wraper" @scroll="onScroll($event)"> <div c ...

  2. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...

  3. NET Core中怎么使用HttpContext.Current

    NET Core中怎么使用HttpContext.Current 阅读目录 一.前言 二.IHttpContextAccessor 三.HttpContextAccessor 回到目录 一.前言 我们 ...

  4. Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  5. sobel算子

    #1,个人理解 网上查了很多资料,都说sobel算子是用来检测边缘的,分别给了两个方向上的卷积核,然后说明做法,就说这就是sobel算子.对于我个人来说,还有很多不明白的地方,所以理清下思路. #2, ...

  6. SpringMVC源码分析系列

    说到java的mvc框架,struts2和springmvc想必大家都知道,struts2的设计基本上完全脱离了Servlet容器,而springmvc是依托着Servlet容器元素来设计的,同时sp ...

  7. 设置svg图片大小

    background-image: url(/resources/img/liveSupport/tx_1.svg); background-size: 16px 16px; width: 16px; ...

  8. CodeIgniter框架入门教程——第三课 URL及ajax

    本文转载自:http://www.softeng.cn/?p=74 这节课讲一下CI框架的路由规则,以及如何在CI框架下实现ajax功能. 首先,先介绍CI框架的路由规则,因为CI框架是在PHP的基础 ...

  9. MD5算法的C语言实现

    1 #include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <string.h ...

  10. Matlab 的reshape函数

    看Matlab的help文档讲得不是清楚. 先给上一段代码: >> a=[1 2 3;4 5 6;7 8 9;10 11 12]; >> b=reshape(a,2,6); 这 ...