这两个是button开关。监听CheckedChangeListener
toggle_layout.xml:
xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/lineaLayout" > <!-- 定义一个ToggleButton按钮 --> <ToggleButton android:id="@+id/toggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="横向排列" android:textOn="纵向排列" android:checked="true" /> <Switch android:id="@+id/switcher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="横向排列" android:textOn="纵向排列" android:thumb="@drawable/login_button_selector" /> </LinearLayout>
MainActivity.java:
package com.example.androidmy;import android.os.Bundle;import android.provider.SyncStateContract.Columns;import android.app.Activity;import android.view.Gravity;import android.view.Menu;import android.widget.Button;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.CompoundButton;import android.widget.GridLayout;import android.widget.LinearLayout;import android.widget.Switch;import android.widget.ToggleButton;public class MainActivity extends Activity { private ToggleButton toggleButton; private Switch switch1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.toggle_layout); toggleButton = (ToggleButton)findViewById(R.id.toggle); switch1 = (Switch)findViewById(R.id.switcher); final LinearLayout linearLayout = (LinearLayout)findViewById(R.id.lineaLayout); OnCheckedChangeListener listener = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ //设置LinearLayout垂直布局 linearLayout.setOrientation(1); }else{ //设置LinearLayout水平布局 linearLayout.setOrientation(0); } } }; toggleButton.setOnCheckedChangeListener(listener); switch1.setOnCheckedChangeListener(listener); } }效果: