做pc端网站市场,为爱直播视频,晋城做网站公司,小吃加盟招商方案状态开关按钮#xff08;ToggleButton#xff09;和开关#xff08;Switch#xff09;也是由Button派生出来的#xff0c;因此它们本质上都是按钮#xff0c;Button支持的各种属性、方法也适用于ToggleButton和Switch。从功能上看#xff0c;ToggleButton、Switch和Chec… 状态开关按钮ToggleButton和开关Switch也是由Button派生出来的因此它们本质上都是按钮Button支持的各种属性、方法也适用于ToggleButton和Switch。从功能上看ToggleButton、Switch和CheckBox复选框非常相似都能提供两种状态但是它们区别主要在功能上。ToggleButton和Switch主要用于切换程序中的状态。 今天我们通过开关的切换从而改变我们页面的布局。 一、首先我们来看看这两个开关的使用方法 Switch支持的XML属性和相关方法 ToggleButton支持的XML属性及相关方法 二、在布局文件中增加ToggleButton和Switch按钮随着按钮的改变界面布局中LinearLayout布局在水平与垂直布局中切换。 ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:orientationvertical android:layout_widthmatch_parentandroid:layout_heightmatch_parent!-- 定义一个ToggleButton-切换按钮--ToggleButtonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textOff纵向排列android:textOn横向排列android:idid/toggleButtonandroid:checkedfalse /Switchandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textOff纵向排列android:textOn横向排列android:thumbdrawable/checkandroid:idid/switch1android:checkedtrue /!-- 定义一个可以改变方向的布局--LinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/testandroid:orientationverticalButtonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text按钮一android:idid/button /Buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text按钮二android:idid/button2 /Buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text按钮三android:idid/button3 //LinearLayout/LinearLayout 三、已经有了按钮但是如何让它们能随着事件而切换呢接下来我们就为ToggleButton和Switch按钮绑定事件。即当状态发生改变时布局也随之发生改变。 package happy.togglebutton;import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.ToggleButton;public class MainActivity extends AppCompatActivity {ToggleButton toggle ;Switch switcher ;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test);toggle (ToggleButton)findViewById(R.id.toggleButton);switcher (Switch)findViewById(R.id.switch1);final LinearLayout test (LinearLayout)findViewById(R.id.test);CompoundButton.OnCheckedChangeListener listener new CompoundButton.OnCheckedChangeListener() {Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){//设置LineLayout的垂直布局test.setOrientation(1);toggle.setChecked(true);switcher.setChecked(true);}else{//设置LineLatout的水平布局test.setOrientation(0);toggle.setChecked(false);switcher.setChecked(false);}}};toggle.setOnCheckedChangeListener(listener);switcher.setOnCheckedChangeListener(listener);}
} 四、我们来看看效果。 切换前 切换后 转载于:https://www.cnblogs.com/starluo/p/4996011.html