ToggleButton和Switch改变布局
来源:互联网 发布:audition for mac 编辑:程序博客网 时间:2024/06/05 00:47
java代码
package com.example.zhang.togglebuttontest;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.CompoundButton;import android.widget.LinearLayout;import android.widget.Switch;import android.widget.ToggleButton;public class MainActivity extends AppCompatActivity { //创造ToggleButton和Switch的实例toggleButton和switcher ToggleButton toggleButton; Switch switcher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //利用findViewById的方法找到xml文件中的toggleButton和switcher toggleButton = (ToggleButton) findViewById(R.id.toogleButton); switcher = (Switch) findViewById(R.id.switcher); //这里的final和有意思,需要特别注意,因为你这个变量test是onCreate()方法的一个局部变量, //而在onClick()方法里面的new onClickListener(){}其实是以onClickListener接口为基础 //隐式创建了一个主类的内部类,也就是说new onClickListener(){}中括号内的东西,和oncreate() //方法的作用域不同。所以如果你要跨作用域使用的话,方法有两种:一种就是你看到的在局部作用域 //内将属性声明为final的,第二种就是把你的方法属性的声明放到方法外作为一个类属性,这个时候由 //于内部类是在主类里边的,所以它可以访问主类的全部属性。 //所以还可以改成这样的,在Switch switcher;后面加上LinearLayout test,然后把 //final LinearLayout test = (LinearLayout) findViewById(R.id.test);的final LinearLayout去掉 final LinearLayout test = (LinearLayout) findViewById(R.id.test); CompoundButton.OnCheckedChangeListener onCheckedChangeListener = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ test.setOrientation(1);//把LinearLayout设为垂直布局 toggleButton.setChecked(true); switcher.setChecked(true); } else{ test.setOrientation(0);//把LinearLayout设为水平布局 toggleButton.setChecked(false); switcher.setChecked(false); } } }; //为toggleButton和switcher绑定OnCheckedChangeListener toggleButton.setOnCheckedChangeListener(onCheckedChangeListener); switcher.setOnCheckedChangeListener(onCheckedChangeListener); }}
xml代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ToggleButton android:id="@+id/toogleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="横向排列" android:textOn="纵向排列"/> <Switch android:id="@+id/switcher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="横向排列" android:textOn="纵向排列" android:thumb="@drawable/check" android:checked="true"/> <!--构造一个LinearLayout,并为其设置id,方便在java代码中操作布局--> <LinearLayout android:id="@+id/test" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试2"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试3"/> </LinearLayout></LinearLayout>
0 0
- ToggleButton和Switch改变布局
- Android ToggleButton和Switch
- ToggleButton和Switch
- Android控件ToggleButton和Switch
- 开关控件Switch和ToggleButton
- widgets之switch和ToggleButton
- ToggleButton和Switch的用法
- Android Switch和ToggleButton类
- 004 RadioButton,ToggleButton和Switch控件
- Android—ToggleButton、Switch和RatingBar使用
- Android中的ToggleButton和Switch开关控件
- 开关按钮ToggleButton和开关Switch
- ToggleButton布局
- togglebutton的使用(开关按钮)改变布局的方式
- 设置ToggleButton、Switch、CheckBox和RadioButton的显示效果
- 设置ToggleButton、Switch、CheckBox和RadioButton的显示效果
- Android UI之选择器-ToggleButton、Switch、CheckBox和RadioButton
- 【9】ToggleButton(开关按钮)和Switch(开关)
- 【jQuery】使用append()方法向元素内追加内容
- error1062 ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for
- 判断银行账号是否输入正确
- 关于java中byte
- 企业APP开发应该关注的那些问题
- ToggleButton和Switch改变布局
- 保存的文章
- sys下文件创建 实例
- node 请求
- 使用Mahout搭建推荐系统之入门篇4-Mahout实战
- Java之多线程内存可见性_1
- python34+pyserial2.7+PyQt5开发环境配置方法
- QT配置问题
- 单选,多选及其OnCheckedChange监听器