android学习笔记(19)开关按钮(ToggleButton )的 功能与用法

2014-12-12 9:15:53     25 人阅读    

ToggleButton也是由Button派生出来的。从界面上来看,它与CheckBox复选框非常相似,它们都可以提供两个状态。
不过ToggleButton与CheckBox的区别主要体现在功能上,ToggleButton通常用于切换程序中的某种状态。
表2.11显示了 ToggleButton所支持的XML属性及相关方法的说明。
表2.11 ToggleButton支持的XML属性及相关方法说明
XML属性                                相关方法                               说 明
android :checked              setChecked(boolean)              设置该按钮是否被选屮
androiditextOff                                                       设与该按钮没有被选屮时显示的文本
android:rextO                                                      设‘ff袅该按钮被选中时显示的文本
下面通过一个动态控制布局的实例来示范ToggleButton的用法。
( IP实例:动态控制布局该实例的思路是在页面中增加一个ToggleButton,随着该按钮状态的改变,界面布局中 的LinearLayout布局的方向在水平布局、垂直布局之间切换。下面是该程序所使用的界面布局。
程序清单:ToggleButtonTest\resMayout\main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<!-- 定义一个ToggleButton按钮 -->
<ToggleButton android:id="@+id/toggle"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textOff="横向排列"
 android:textOn="纵向排列"
 android:checked="true"
 />
<!-- 定义一个可以动态改变方向的线性布局 -->
<LinearLayout android:id="@+id/test"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<Button
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="测试按钮一"
 />
<Button
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="测试按钮二"
 />
<Button
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="测试按钮三"
 />
</LinearLayout>
</LinearLayout>

上面LinearLayout中定义了三个按钮,该LinearLayout默认采用垂直方向的线性布局。 接下来我们为页面上的ToggleBimon按钮绑定一个监听器,当它的选中状态发生改变时,程序通过代码来改变LinearLayout的布局方向。
程序清单:\org\crazyit\togglebutton\ToggleButtonTest.java

package org.crazyit.togglebutton;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
public class ToggleButtonTest extends Activity
{
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  ToggleButton toggle = (ToggleButton)findViewById(R.id.toggle);
  final LinearLayout test = (LinearLayout)findViewById(R.id.test);
  toggle.setOnCheckedChangeListener(new OnCheckedChangeListener()
   {
    @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1)
    {
     if(arg1)
     {
      //设置LinearLayout垂直布局
      test.setOrientation(1);
     }
     else
     {
      //设置LinearLayout水平布局
      test.setOrientation(0);
     }   
    }
   });
 }
}

运行上面的程序,随着用户改变ToggleButton按钮的 状态,下面界面布局的方向也在不断发生改变。图2.25显 示了 ToggleButton 的界面。


原文地址:http://www.itmmd.com/201412/304.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android学习笔记(20)时钟(AnalogClock 和 DigitalClock )的功能与功法   上一篇
下一篇  node.js依赖的 JavaScript基础 函数

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!