在android中ToggleButton和Switch的功能一样。今天通过自定义一个ToggleButton样式来学习他们。先看效果图:
在这里使用了两张图片:
toggle_on.png
toggle_off.png
接下来一步一步实现该效果:
1、在drawable目录下创建一个selector文件toggle_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:drawable="@drawable/toggle_on"/>
<item android:drawable="@drawable/toggle_off"/>
</selector>
2、然后在layout文件中使用该文件内容:
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff=""
android:textOn=""
android:background="@drawable/toggle_selector"
android:checked="true"/>
3、创建activity——ToggleSwitchActivity.java
package com.xy.zt.selfdefinewieget;
import android.app.Activity;
import android.os.Bundle;
public class ToggleSwitchActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_toggle_switch_layout);
}
}
public static final int TOGGLE_SWITCH_ID = RADIO_BUTTON_ID + 1;
public static final String TOGGLE_SWITCH_NAME = "Toggle and Switch";
private static final ViewData mToggleSwitch = new ViewData(TOGGLE_SWITCH_NAME,
TOGGLE_SWITCH_ID);
View_Datas.add(mToggleSwitch);
WidgetsAdapter的handleItemClicked函数中添加如下内容:
case ViewData.TOGGLE_SWITCH_ID:
intent.setClass(mContext, ToggleSwitchActivity.class);
mContext.startActivity(intent);
break;
Switch和ToggleButton类似,这里就不多说了,值得注意的是Switch控件是 API 14中添加进来的。下一篇文章 TextSwitcher和ImageSwitcher。