Android开发学习笔记:浅谈ToggleButton
16lz
2022-05-10
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
- privateToggleButtontogglebutton;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- togglebutton=(ToggleButton)findViewById(R.id.togglebutton);
- togglebutton.setOnClickListener(newOnClickListener(){
- publicvoidonClick(Viewv){
- //当按钮第一次被点击时候响应的事件
- if(togglebutton.isChecked()){
- Toast.makeText(MainActivity.this,"你喜欢球类运动",Toast.LENGTH_SHORT).show();
- }
- //当按钮再次被点击时候响应的事件
- else{
- Toast.makeText(MainActivity.this,"你不喜欢球类运动",Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- }
main.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- <ToggleButton
- android:id="@+id/togglebutton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textOn="喜欢"
- android:textOff="不喜欢"
- />
- </LinearLayout>
strings.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <resources>
- <stringname="hello">你喜不喜欢球类运动?</string>
- <stringname="app_name">测试ToggleButton</string>
- </resources>
效果图:
第二个例子通过图片的变化显示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
- privateImageViewimageView;
- privateToggleButtontoggleButton;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- 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(CompoundButtonbuttonView,booleanisChecked){
- toggleButton.setChecked(isChecked);
- //使用三目运算符来响应按钮变换的事件
- imageView.setImageResource(isChecked?R.drawable.pic_on:R.drawable.pic_off);
- }
- });
- }
- }
main.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <ImageView
- android:id="@+id/imageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/pic_off"
- android:layout_gravity="center_horizontal"
- />
- <ToggleButton
- android:id="@+id/toggleButton"
- android:layout_width="130dip"
- android:layout_height="wrap_content"
- android:textOn="开灯"
- android:textOff="关灯"
- android:layout_gravity="center_horizontal"
- />
- </LinearLayout>
效果图:
更多相关文章
- android 获取屏幕高度,宽度,状态栏高度
- Qt on Android:图文详解Hello World全过程
- Android(安卓)学习笔记(4)—— ToggleButton 、Switch
- Android(安卓)Power Management 实现
- Android(安卓)按钮点击切换背景,同时修改文字颜色
- android 控制按钮各个状态的样式
- Android手机应用开发(一) | 基本的UI界面设计
- Android(安卓)判断网络状态
- Android实现底部tabbar按钮突出效果