Android UI 详解之ToggleButton按钮和Swith按钮
2015-01-09 10:09
435 查看
Android UI 详解之ToggleButton、Swith
1、ToggleButton 和Swith同样是继承Button而来的,所以剧本Button的一切属性
ToggleButton新加的最重要属性,
android:checked 设置按钮是否被选中
android:textOff 设置当该按钮的状态关闭时显示的文本
android:textOn 设置当该按钮的状态为打开时显示的文本
2、下面是自定义的ToggleButton
设计思想,先选取两张图片,然后通过selector 去设置状态变化的对应图片
在代码中通过setOnchangeCheckListener()去监听,注意:与单选和按钮的监听器不同,和复选的按钮监听器一样,上一次在讨论单选按钮的时候没后用到参数,这次我们用一下,其实参数也就是两个值True和False,和调用ischecked 一样,只不过这里用True和False更能易懂,因为他毕竟是开关,
效果图
代码如下
布局代码
btn_toggle.xml
3、Swith
代码
layout
1、ToggleButton 和Swith同样是继承Button而来的,所以剧本Button的一切属性
ToggleButton新加的最重要属性,
android:checked 设置按钮是否被选中
android:textOff 设置当该按钮的状态关闭时显示的文本
android:textOn 设置当该按钮的状态为打开时显示的文本
2、下面是自定义的ToggleButton
设计思想,先选取两张图片,然后通过selector 去设置状态变化的对应图片
在代码中通过setOnchangeCheckListener()去监听,注意:与单选和按钮的监听器不同,和复选的按钮监听器一样,上一次在讨论单选按钮的时候没后用到参数,这次我们用一下,其实参数也就是两个值True和False,和调用ischecked 一样,只不过这里用True和False更能易懂,因为他毕竟是开关,
效果图
代码如下
package com.example.togglebuttondemo; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.Button; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.EditText; import android.widget.Toast; import android.widget.ToggleButton; @SuppressLint("ShowToast") public class MainActivity extends Activity { private ToggleButton tbb; private Button bt; private EditText et; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tbb = (ToggleButton)findViewById(R.id.tb1); et = (EditText)findViewById(R.id.et); tbb.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { Log.i("Toggle","Toggle1"); if (tbb.isChecked()){ et.setText("Yes"); Log.i("Toggle","Yes"); }else{ et.setText("NO"); Log.i("Toggle","NO"); } } }); } }
布局代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ToggleButton android:id="@+id/tb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:textOn="1" android:textOff="2" android:background="@drawable/btn_toggle"/> <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/et" /> </LinearLayout>
btn_toggle.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" android:drawable="@drawable/btn_toggle_no" /> <item android:state_checked="true" android:drawable="@drawable/btn_toggle_yes" /> </selector>
3、Swith
代码
package org.crazyit.ui; import android.app.Activity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.LinearLayout; import android.widget.Switch; import android.widget.ToggleButton; public class ToggleButtonTest extends Activity { ToggleButton toggle; Switch switcher; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); switcher = (Switch)findViewById(R.id.switcher); final LinearLayout test = (LinearLayout)findViewById(R.id.test); OnCheckedChangeListener listener = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton button , boolean isChecked) { if(isChecked) { //设置LinearLayout垂直布局 test.setOrientation(1); } else { //设置LinearLayout水平布局 test.setOrientation(0); } } }; switcher.setOnCheckedChangeListener(listener); } }
layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <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 android:id="@+id/test" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试按钮一" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试按钮二" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试按钮三" /> </LinearLayout> </LinearLayout>效果图
相关文章推荐
- Android UI(ToggleButton)详解
- Android控件ToggleButton多状态按钮使用详解
- Android UI(ToggleButton)详解
- Android UI控件详解-Button(按钮)点击事件的5种写法
- Android界面UI开发中按钮Button的…
- Android UI控件之ToggleButton、Switch
- Android UI(Button)详解
- Android UI之ImageButton(带图标的按钮)
- Android ToggleButton Example--开关按钮
- Android ToggleButton 详解及实例代码
- android-UI组件实例大全(五)------开关按钮ToggleButton和开关Switch
- UI控件之ToggleButton(开关按钮)和Switch(开关)
- Android基础入门教程——2.3.6 开关按钮ToggleButton和开关Switch
- 21.4 ToggleButton个性化按钮控件(征服ASP.NET 2.0 Ajax——Web开发技术详解 )
- AndroidUI:ToggleButton + Switch + CheckBox + CheckedTextView
- Android——图片视图(ImageView)、状态开关按钮(ToggleButton)、时钟、图片透明度、滚动和时间选择器
- Android UI之三个Button按钮仿Iphone效果
- Android ToggleButton Example--开关按钮
- Android UI控件系列:Button(按钮)
- Android UI 详解之Button