在android的开发过程中,对于ToggleButton的使用频率也是相当的高的,下面我就来说一下,这个组件的两种使用方式。
第一种是简单的使用,利用Toast的方式弹出提示语句
需要注意的是要想自定义ToggleButton的显示的内容,就需要设置其TextOn和TextOff的内容。
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/toggleButton2"
android:layout_alignBottom="@+id/toggleButton2"
android:textOn="开"
android:textOff="关"
android:layout_alignRight="@+id/imageview"
android:text="Simple test" />
然后是主要的显示代码:
case R.id.toggleButton1:
if(SimpleTest.isChecked()){
Toast.makeText(getApplication(), "你打开了开按钮", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplication(), "你打开了关按钮", Toast.LENGTH_SHORT).show();
}
break;
//应该注意的是,先声明ToggleButton并初始化,然后注册侦听方法
接下来是一个较为复杂一点的使用案例,那就是配合ImageView来实现不同的图片显示状态
<ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageview"
android:layout_alignParentTop="true"
android:layout_marginTop="46dp"
android:textOn="美女"
android:textOff="图标"
android:text="With Image" />
<ImageView
android:id="@+id/imageview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/note"
android:layout_below="@id/toggleButton2"
/>
然后是活动代码
case R.id.toggleButton2:
if(WithImage.isChecked()){
imageview.setImageResource(R.drawable.note);
}else{
imageview.setImageResource(R.drawable.ic_launcher);
}
break;
需要注意的是,我们同样需要先进行声明,才能对其使用,否则会报空指针的错误。
下面是程序运行之后的结果
总结与设想:
在使用过程中使用到的ToggleButton 一般来说不会这么的简单,但是主要的思想和框架还是基于这里的。我们可以在相关的侦听方法中添加比如静音的处理,或者status的改变等等。这样,我们的应用就会变得更加的灵活了。