Android学习03
2024-09-20 22:33:10
ToggleButton和Switch
状态开关ToggleButton与开关switch也是由button按钮派生出来的,因此他们的本质也是按钮,button支持的各种属性,方法toggleButton和switch也适用。
ToggleButton常用的属性:
android:textOff:按钮关闭时显示的文本;
android:textOn:按钮开启时显示的文本;
Switch也用于开关按钮。Switch和ToggleButton稍有区别:ToggleButton是按下弹起的开关,而Switch是左右滑动的开关。
开关监听为:setOnCheckedChangeListener,覆写onCheckedChanged(CompoundButton buttonView, boolean isChecked)方法,其中isChecked表示是否选中。
layout文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ToggleButton
android:id="@+id/tbtn_open"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="开"
android:textOff="关"
android:checked="true"/> <Switch
android:id="@+id/sw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tbtn_open"
android:layout_marginTop="20dp"
android:checked="true"/> </RelativeLayout>
Activity
public class ToggleButtonActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{ private ToggleButton mBtnopen;
private Switch mBtnsw; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toggle_button); mBtnopen = findViewById(R.id.tbtn_open);
mBtnsw = findViewById(R.id.sw);
mBtnopen.setOnCheckedChangeListener(this);
mBtnsw.setOnCheckedChangeListener(this); } @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
switch (compoundButton.getId()){
case R.id.tbtn_open:
if(compoundButton.isChecked()) Toast.makeText(this,"开",Toast.LENGTH_SHORT).show();
else Toast.makeText(this,"关",Toast.LENGTH_SHORT).show();
break;
case R.id.sw:
if(compoundButton.isChecked()) Toast.makeText(this,"开关:ON",Toast.LENGTH_SHORT).show();
else Toast.makeText(this,"开关:OFF",Toast.LENGTH_SHORT).show();
break; }
}
}
效果图
最新文章
- Myeclipse+AJAX+Servlet
- information_schema系列八(事物,锁)
- Android Fragment 你应该知道的一切
- python面向对象(上)
- Asp.net MVC集成Google Calendar API(附Demo源码)
- 非常简单的oracle和mysql数据互传
- Kafka设计解析(八)- Exactly Once语义与事务机制原理
- React教程(一) React介绍与搭建
- golang 如何将imagemagick 和golang 打包到docker 环境中
- PATH环境变量
- PowerDesigner 16.5 使用VBScript脚本从Excel导入物理数据模型
- luogu 2569 股票交易 单调队列dp
- PyCharm2018 安装
- core net 实现post 跟get
- Pycharm(一)下载安装
- ThreadLocal理解
- mac下PHPStorm2018.2破解教程
- Android—— Intent参数this问题
- PHP面试专用笔记精简版
- day 3 创建窗口,移动-函数版