这两个组件的话因为比较简单,某些书都会直接略过,不过笔者觉得还是有比较介绍一下这两个组件:\

相信有朋友都不知道这两个组件是怎么样的,so,普及下,上图:

ToggleButton:开关按钮: ,就是点击以后那个蓝色的底部会变暗,就是一个开关,蓝色的时候表示on,灰色off

Switch:开关: 点击以后会左右移动,在右边的时候表示on,左边表示off

!!!这里要注意一下,switch是4.0以后才出现的,所以要修改一下androidmanifest.xml中的最低版本的minsdk 改为 14或以上,不然会报错

因为这两个都是Button的子类,所以继承了Button的大部分属性,这里的话只将特殊的属性

main.xml文件:

[html] view plain print
  1. <!-- 定义一个ToggleButton按钮 -->
  2. < ToggleButton
  3. android:id = "@+id/TogBtn"
  4. android:layout_width = "wrap_content"
  5. android:layout_height = "wrap_content"
  6. android:textOn = "声音开"
  7. android:textOff = "声音关闭"
  8. android:checked = "true"
  9. />
  10. <!-- 定义一个switch开关 -->
  11. < Switch
  12. android:id = "@+id/switcher"
  13. android:layout_width = "wrap_content"
  14. android:layout_height = "wrap_content"
  15. android:textOn = "横向排列"
  16. android:textOff = "纵向排列"
  17. android:thumb = "@drawable/btnon"
  18. android:checked = "true"
  19. />
  20. < Button
  21. android:id = "@+id/btntest1"
  22. android:layout_width = "wrap_content"
  23. android:layout_height = "wrap_content"
  24. android:text = "测试按钮1"
  25. />
  26. < Button
  27. android:id = "@+id/btntest2"
  28. android:layout_width = "wrap_content"
  29. android:layout_height = "wrap_content"
  30. android:text = "测试按钮2"
  31. />
  32. < Button
  33. android:id = "@+id/btntest3"
  34. android:layout_width = "wrap_content"
  35. android:layout_height = "wrap_content"
  36. android:text = "测试按钮3"
  37. />

MainActivity.java部分:

[java] view plain print
  1. private ToggleButton toggle;
  2. private Switch switcher;
  3. private LinearLayout linear;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super .onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. toggle = (ToggleButton) findViewById(R.id.TogBtn);
  9. switcher = (Switch) findViewById(R.id.switcher);
  10. linear = (LinearLayout) findViewById(R.id.LinearLayout1);
  11. switcher.setOnCheckedChangeListener(listener);
  12. }
  13. private OnCheckedChangeListener listener = new OnCheckedChangeListener() {
  14. @Override
  15. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  16. // TODO Auto-generated method stub
  17. if (isChecked)linear.setOrientation( 0 );
  18. else linear.setOrientation( 1 );
  19. }
  20. };

代码解释:

在xml文件中分别定义了一个ToggleButton和Switch开关,设置了textoff和textOn时显示的文本,设置选择状态,并设置了三个普通按钮

在java主文件中实例化两个开关对象,findViewByid后,再new一个onCheckedChangeListener对象,为switch添加触发事件;

setOrientation():指定linearlayout的方向,0和1,默认是horizontal横向排列,即0的时候!1的话就是竖直方向vertical

这两个组件的话因为比较简单,某些书都会直接略过,不过笔者觉得还是有比较介绍一下这两个组件:\相信有朋友都不知道这两个组件是怎么样的,so,普及下,上图:ToggleButton:开关按钮:,就是点击以后那个蓝色的底部会变暗,就是一个开关,蓝色的时候表示on,灰色offSwitch:开关:点击以后会左右移动,在右边的时候表示on,左边表示off!!!这里要注意一下,switc
刚开始接触 开关 样式的 按钮 是在IOS系统上面,它的切换以及滑动十分帅气,深入人心。 所谓的 开关 按钮 ,就是只有2个状态:on和off,下图就是系统IOS 7上 开关 按钮 效果。 起初我在 android 上我只会使用CheckBox去满足对应的功能。后来,查看开发文档发现, android 也有了自己的原生态 开关 控件,并且在4.0版本中又优化加入了新的类似控件-- Switch 控件,以及使用起来十分简单的T...
<?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>
在coding的过程中需要用到简单的 switch -button,因为 Android 自带库没有此 组件 ,使用就打算自定义view实现一个 开关 按钮 。 我使用了view的组合,首先思考 开关 按钮 的组成,分为2个部分,一个是底部的圆角矩形,一部分是在 开关 过程中变换位置的圆。 于是写出 按钮 的xml布局 layout_ switch .xml <?xml version="1.0" encoding="utf