这个空间不是很常用 我做布局很多了 但是这个组件还没用到过 但是这个组件还是蛮实用的 在这里简单的介绍一下
ToggleButton的具体效果如图
不点击的时候
点击后
不断的点击 会在这两个布局中重复切换
不多说 先放代码
布局文件 main。xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ToggleButton
android:id="@+id/togglebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textOn="纵向布局"
android:textOff="横向布局" />
<LinearLayout
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="s" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="b" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I" />
</LinearLayout>
</LinearLayout>
这里注意的问题只有一点 那就是 在布局的时候 程序执行之后的第一显示是 android:textOn 这个属性 因为在上面有设置 android:Checked 这个属性 所以在下面的那个LinearLayout的布局要和其对应
如果 没有设置 android:Checked 这个属性 就会默认显示 false 的属性
然后就是java代码中的实现部分
这个其实很简单
只用到了一个方法 和一个知识点
那就是 onCheckedChanged 和 setOrientation
放代码
package fu.text;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
public class DanxuankActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ToggleButton toggleButton = (ToggleButton) findViewById(R.id.togglebutton);
final LinearLayout layout = (LinearLayout) findViewById(R.id.test);
toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
layout.setOrientation(1);
} else {
layout.setOrientation(0);
}
}
});
}
}
更具体的有待与自己去研究