Android控件筆記——多狀態按鈕ToggleButton

一、什麼是ToggleButton:java

    ToggleButton有兩種狀態:選中狀態和未選中狀態,而且須要爲不一樣的狀態設置不一樣的顯示文本。android

二、ToggleButton屬性:ide

    android:checked="true"this

    android:textOff="關"code

    android:textOn="開"xml

三、使用:it

    咱們寫一個開關按鈕,控制燈泡的開關class

    首先拖入ToggleButton,並對它進行相關的設置:List

<!--activity_main.xml-->
    <ToggleButton
        android:checked="false"
        android:textOn="開"
        android:textOff="關"
        android:id="@+id/toggleButton1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    接着拖入一個imageView,一樣對它進行設置:方法

<!--activity_main.xml-->
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toggleButton1"
        android:background="@drawable/off" />

    接着在MainActivity.java中建立一個監聽器監聽ToggleButton的狀態,而且根據它的狀態更改ImageView。

<!--MainActivity.java-->
public class MainActivity extends Activity implements 
             OnCheckedChangeListener{
	//聲明控件
	private ToggleButton tb;
	private ImageView img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //初始化控件
        tb=(ToggleButton) findViewById(R.id.toggleButton1);
        img=(ImageView) findViewById(R.id.imageView1);
        
        //給當前的tb設置監聽器
        tb.setOnCheckedChangeListener(this);
    }
	@Override
	public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
		// TODO Auto-generated method stub
		//當tb被點擊的時候,觸發當前方法.第一個參數判斷是哪一個tb被點擊,
        //第二個參數獲得tb當前狀態
		//當點擊tb的時候,更換img的背景
		img.setBackgroundResource(arg1?R.drawable.on:R.drawable.off);
	}
}

四、效果:

相關文章
相關標籤/搜索