Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android編程入門 >> Android 多狀態按鈕ToggleButton

Android 多狀態按鈕ToggleButton

編輯:Android編程入門

1.什麼是ToggleButton
ToggleButton有兩種狀態:選中和未選中狀態
並且需要為不同的狀態設置不同的顯示文本
2.ToggleButton屬性
android:checked="true"
android:textOff="關"
android:textOn="開"

使用ToggleButton實現開關效果
默認情況下ToggleButton的checked屬性為false。
將兩張圖片放入drawable(-hdmi)目錄下。
通過ToggleButton的setOnCheckedChangeListener()方法監聽toggleButton的狀態。
重寫onCheckedChanged()方法。
如果toggleButton被點擊了,顯示白天和其對應的圖片;如果toggleButton沒有被點擊,顯示晚上和其對應的圖片。
通過imageView.setBackgroundResource()方法設置圖片的背景顏色。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ToggleButton
        android:textOn="白天"
        android:textOff="夜晚"
        android:id="@+id/toggleButton1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/moon" />

</LinearLayout>
activity_main.xml
package com.example.togglebutton;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;

public class MainActivity extends ActionBarActivity {

    private ToggleButton toggleButton;
    private ImageView imageView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        toggleButton = (ToggleButton) findViewById(R.id.toggleButton1);
        imageView = (ImageView) findViewById(R.id.imageView1);
        
        toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) 
                    imageView.setBackgroundResource(R.drawable.sun);
                else
                    imageView.setBackgroundResource(R.drawable.moon);
            }
            
        });
    }
}
MainActivity.java

實現的效果是通過點擊toggleButton可以實現imageView在白天和夜晚之間的切換。

效果:

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved