安卓天天练练(五)CompoundButton

toggleButton 让我想起了从前jQuery还没有取消toggle方法的时候偷的懒。。

package com.example.android_8_1;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ToggleButton tg = (ToggleButton) findViewById(R.id.toggleButton1);
        tg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            // imported from android.widget.CompoundButton
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                // TODO Auto-generated method stub
                setBulbState(isChecked);
            }
        });
    }

    public void setBulbState(boolean state) {
        ImageView iv = (ImageView) findViewById(R.id.imageView1);
        iv.setImageResource((state) ? R.drawable.btn : R.drawable.btnhover);

        ToggleButton tg = (ToggleButton) findViewById(R.id.toggleButton1);
        tg.setChecked(state);
    }

}

XML很简单

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android_8_1.MainActivity" >

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="61dp"
        android:text="ToggleButton"
        android:textOff="Off"
        android:textOn="On"
         />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:src="@drawable/btn" />

</RelativeLayout>

这种自带机制很实用,此例结束。

时间: 2024-10-01 21:39:34

安卓天天练练(五)CompoundButton的相关文章

安卓天天练练(十二)进度条

又是一个安卓自带的方便控件,不用我html/css/js自己写了. 用可视化面板拖进去以后 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_hei

安卓天天练练(六)红黄绿灯作业

提不起兴趣做作业的话将来也提不起兴趣做项目需求. 所以,不要畏难,不要懒. 制作两组红黄绿交通灯,分别通过状态开关可打开和关闭交通灯 在打开状态下,设置单选按钮可设置红.黄.绿灯之间的切换时间,这个对全局有效 通过多选按钮来设置是否可打开第一组还是打开第二组交通灯的权限,只有当选择为打开时才允许通过状态开关打开交通灯,反之则不允许操作

安卓天天练练(七)轮播图

也算不上轮播,只是有两个按钮用来刷出上一张和下一张的图片. 先拖元件,新建string <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heigh

安卓天天练练(十三)星星评分

这玩意用html做可麻烦了 <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true"

安卓天天练练(一)不讨巧的绝对布局

IDE 采用eclipse luna 使用了AbsoluteLayout标签后IDE立即开始警告:“AbsoluteLayout is deprecated”,不赞成使用绝对布局(无视它) >需要注意 <Button />,<TextView />标签为自结束 <EditText></EditText>需要闭合标签,可以从Graphical Layout工具的Palette中TextView分类任意可编辑文本框拖出来 <ScrollView>

安卓第十五天笔记-图形图像一些简单处理

安卓第十五天笔记-图形图像一些简单处理 多媒体编程简介--图形的一般处理 1.计算机中图形计算的大小 一般白色就是0,黑色就是1 单色位图: 8位表示一个字节, 大小:长*宽/8,表示大小,还有一些文件信息如创建时间,什么工具创建之类的 24位位图 一个像素表示24位 大小:长*宽*24/8 256色 1个像素可以表示256种颜色 一个字节它的长度刚好是256 ,那么一个像素点就是一个字节 大小:长*宽 安卓中默认使用32位的 位图的缺陷 放大到一定的比例会出会出现失真与锯齿形状 占用很大的存储

安卓项目打包时候报错--解决方案

今天在打包的时候报了一堆同样的错误,是因为引入PulltoRefreshLibrary这个库导致的,只要一打包,就会报八百多个同样的错误,可能是因为在打包的时候,引用库的时候有冲突一类的: 具体解决方案: 第一步:右键安卓项目--->属性 第二步:直接看图 第三步:选择 Ignore All 然后点击Apply 第四步:clean整个安卓项目 第五步:打包-->直至成功.

用中文对着她喊“Bingbing

有记者曾经埋怨,范冰冰是最难偷拍的女艺人,风言风语满天飞,却一次都没有被拍到过.拿了这个问题去难堪她,她很坦然,"我自己的主意,是做一个有肩膀的姑娘,不惧怕去承担." 范冰冰从来都是个敢做敢当的人.以下,是范冰冰的BH语录. ★"我这样个性的人,谁敢包养我,我不去包养别人就不错了." --------------------------------------------------------------- ★"我泱泱大国诚信为本,不像某些人拍八卦.&q

基于 Android 和 WCF 技术的软件开发

最近,同学的同学找我做了一款简单的安卓手机软件,第一次,一个人,做一个完整的项目.所以,在这里总结一下完整的开发流程和步骤,方便后来人入门学习. 其实,我是一个新手,没有系统的学过android也没有系统的学过WCF,这些都是自己一点一点尝试出来的. 先说一下我的基础: 安卓在三年前接触过,当时乱看一气.主要看的网站就是这个(http://www.fenby.com): 今年三月份,深入学习了数据库相关知识,对于数据的增删改查,三范式,E-R有了深刻了解: 今天五月份,负责一个软件开发的服务器端