美文网首页
Android开发学习笔记:浅谈ToggleButton

Android开发学习笔记:浅谈ToggleButton

作者: 奥利奥龙卷风 | 来源:发表于2017-09-12 09:10 被阅读0次

    ToggleButton(开关按钮)是Android系统中比较简单的一个组件,是一个具有选中和未选择状态双状态的按钮,并且需要为不同的状态设置不同的显示文本。

    ToggleButton常用的XML属性

    属性名称

    描述

    android:disabledAlpha

    设置按钮在禁用时透明度。

    android:textOff

    未选中时按钮的文本

    android:textOn

    选中时按钮的文本

    下面是具体的例子:

    第一个例子是通过Toast显示ToggleButton不同的状态时的信息

    MainActivity.java

    packagecom.android.togglebutton;

    importandroid.app.Activity;

    importandroid.os.Bundle;

    importandroid.view.View;

    importandroid.view.View.OnClickListener;

    importandroid.widget.Toast;

    importandroid.widget.ToggleButton;

    publicclassMainActivityextendsActivity {

    //声明ToggleButton

    privateToggleButton togglebutton;

    @Override

    publicvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    togglebutton = (ToggleButton) findViewById(R.id.togglebutton);

    togglebutton.setOnClickListener(newOnClickListener() {

    publicvoidonClick(View v) {

    // 当按钮第一次被点击时候响应的事件

    if(togglebutton.isChecked()) {

    Toast.makeText(MainActivity.this,"你喜欢球类运动", Toast.LENGTH_SHORT).show();

    }

    // 当按钮再次被点击时候响应的事件

    else{

    Toast.makeText(MainActivity.this,"你不喜欢球类运动", Toast.LENGTH_SHORT).show();

    }

    }

    });

    }

    }

    main.xml

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

    android:id="@+id/togglebutton"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:textOn="喜欢"

    android:textOff="不喜欢"

    />

    strings.xml

    你喜不喜欢球类运动?

    测试ToggleButton

    效果图:

    第二个例子通过图片的变化显示ToggleButton不同的状态时的图片

    MainActivity.java

    packagecom.android.togglebutton;

    importandroid.app.Activity;

    importandroid.os.Bundle;

    importandroid.widget.CompoundButton;

    importandroid.widget.CompoundButton.OnCheckedChangeListener;

    importandroid.widget.ImageView;

    importandroid.widget.ToggleButton;

    publicclassMainActivityextendsActivity {

    //声明ImageView,ToggleButton

    privateImageView imageView;

    privateToggleButton toggleButton;

    @Override

    publicvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    //通过findViewById获得ImageView,ToggleButton

    imageView=(ImageView) findViewById(R.id.imageView);

    toggleButton=(ToggleButton)findViewById(R.id.toggleButton);

    toggleButton.setOnCheckedChangeListener(newOnCheckedChangeListener(){

    publicvoidonCheckedChanged(CompoundButton buttonView,booleanisChecked) {

    toggleButton.setChecked(isChecked);

    //使用三目运算符来响应按钮变换的事件

    imageView.setImageResource(isChecked?R.drawable.pic_on:R.drawable.pic_off);

    }

    });

    }

    }

    main.xml

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

    android:id="@+id/imageView"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:src="@drawable/pic_off"

    android:layout_gravity="center_horizontal"

    />

    android:id="@+id/toggleButton"

    android:layout_width="130dip"

    android:layout_height="wrap_content"

    android:textOn="开灯"

    android:textOff="关灯"

    android:layout_gravity="center_horizontal"

    />

    效果图:

    相关文章

      网友评论

          本文标题: Android开发学习笔记:浅谈ToggleButton

          本文链接:https://www.haomeiwen.com/subject/ocnqsxtx.html