安卓學習第8課——開關ToggleButton、Switch

來源:互聯網
上載者:User

標籤:android   style   blog   http   color   os   

今天學的是對開關的監聽,兩種開關ToggleButton和switch

<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:id="@+id/togglebutton"   android:layout_width="wrap_content"    android:layout_height="wrap_content"     android:textOn="縱向排列"    android:textOff="橫向排列"    android:checked="true" /><Switch    android:id="@+id/switcher"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textOn="縱向排列"    android:textOff="橫向排列"    android:checked="true"/>
<LinearLayout android:id="@+id/test" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="測試按鈕一" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="測試按鈕二" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="測試按鈕三" /> </LinearLayout></LinearLayout>

通過開關控制三個按鈕的是水平還是豎直布局,所以需要將三個按鈕包裹起來,整體要用線性布局。有一個不懂的是為什麼要用android:checked="true"?就是是否要被選中的意思。。。

package com.example.togglebutton;import android.app.Activity;import android.os.Bundle;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.LinearLayout;import android.widget.Switch;import android.widget.ToggleButton;public class MainActivity extends Activity {    ToggleButton togglebutton;     Switch switcher;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        togglebutton=(ToggleButton) findViewById(R.id.togglebutton);        switcher=(Switch) findViewById(R.id.switcher);        final LinearLayout test=(LinearLayout) findViewById(R.id.test);            OnCheckedChangeListener listener=new OnCheckedChangeListener(){        @Override        public void onCheckedChanged(CompoundButton buttonView,                boolean isChecked) {            // TODO Auto-generated method stub            if(isChecked){                test.setOrientation(1);//豎直            }else{                test.setOrientation(0);//水平            }        }    };    togglebutton.setOnCheckedChangeListener(listener);    switcher.setOnCheckedChangeListener(listener);    }}

這個裡面讓我體會到一個重點就是資料域,和普通變數。。。

為什麼要將togglebutton和swithcer作為資料域呢?為什麼test這個不用作為資料域裡的內容呢?

還有一個就是為什麼test這個要用final呢?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.