您的位置:首页 > 移动开发 > Android开发

[Android实例] eoe & 友盟教程大赛【ToggleButton使用教程】

2012-09-18 10:41 375 查看
http://www.eoeandroid.com/thread-165741-1-1.html

【觉得好记得给好评,顺便分享给好友哦,独乐乐,不如众乐乐】

ToggleButton使用教程

1.ToggleButton概述:

可以认为该控件为一个开关,每点击一次会在“开”和“关”这两种状态之间切换,同时切换的还有相应状态的文字和图片。

2.ToggleButton的xml设置

最关键的几个属性设置讲解:

android:textOff="关 闭 " 根据字面意思不难猜出该属性表示的是“关”这个状态对应的文字

android:textOn=" 开 启" 根据字面意思不难猜出该属性表示的是“开”这个状态对应的文字

android:checked="true" 该状态用于设置初始状态,true表示开,false表示关,若没有设置该状态则默认为关

android:background="@drawable/toggleselector" 如果要想改变ToggleButton开和关的图片,则需要设置这个属性,toggleselector将放到下面第三小点中讲解

3.toggleselector

在上面的第二小点中我们说过如果要想改变ToggleButton开和关的图片,则需要设置 android:background这个属性,他引用的是一个xml文件.

这个xml文件怎么创建呢?

这个xml文件的本质是一个selector。

在所在工程的res文件夹右键选择New---->Android XML File,此时会弹出一个窗口,在source type中选择drawable,在root element中选择selector,然后输入你想要给这个xml文件起的名字,我起的是toggleselector,你也可以起别的名字。这里的名字是什么,引用的时候就是什么,比如你的名字是hiselector,那么引用的时候就是
android:background="@drawable/hiselector" 。

接着说说这个selector如何写。

看代码:

<?xml version="1.0" encoding="utf-8"?>

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

<item android:drawable="@drawable/toggle_on" android:state_checked="true"/><--这一行表示的是ToggleButton状态为“开”的时候对应的图片-->

<item android:drawable="@drawable/toggle_off"/><--这一行表示的是ToggleButton状态为“关”的时候对应的图片-->

</selector>

4.下面说说ToggleButton的使用

最重要的一个方法便是监听oncheckedchangedlistener

看代码:

ToggleButton toggleButton = (ToggleButton) findViewById(R.id.toggleButton1); //得到ToggleButton

toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { //监听OnCheckedChangeListener

public void onCheckedChanged(CompoundButton buttonView,

boolean isChecked) {

if (isChecked) { //当ToggleButton状态改变为“开”的时候执行的操作

Toast.makeText(SwitchtestActivity.this, "checked",

Toast.LENGTH_LONG).show();

} else {//当ToggleButton状态改变为“关”的时候执行的操作

Toast.makeText(SwitchtestActivity.this, "unchecked",

Toast.LENGTH_LONG).show();

}

}

});

重要补充:

在xml中设置文字有时候间距什么的不好控制,这个时候可以把文字写在图片里面,在xml中把texton和textoff都设置为“”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: