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

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如何写。
     看代码:



<--这一行表示的是ToggleButton状态为“开”的时候对应的图片-->
<--这一行表示的是ToggleButton状态为“关”的时候对应的图片-->


    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都设置为“”

你可能感兴趣的:(android,xml,encoding,file,android)