Skip to content

iOS风格SwitchButton。 只涉及到一个类文件,异常容易集成进入你的项目。支持开关的"延时和回滚"操作。only one class file, very easy to integrate into your program. support the delay operation and rolling back action of the switch

Notifications You must be signed in to change notification settings

JarekWang/SwitchButton

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

SwitchView

##用来干什么? What is it used for? 给用户点击开关按钮的操作带来更好的视觉体验
For bringing a better visual experience when clicking the on/off button

##如何去使用 How to use 在xml中:within xml

<yourpackagename.SwitchView
        android:id="@+id/view_switch"
        android:layout_width="60dip"
        android:layout_height="wrap_content" />

注:调整属性layout_width的值来确定SwitchView的大小,推荐使用60dip左右的值。

note:adjust the volume of width under the attribut subject to decide the size, recommending size shall be 60dip up or down.

引入之后,SwitchView在界面上被点击将展现这样的效果:

After inserting, the effect of SwitchView will present it like followings:

image

你可以通过在代码中调用setOpened(boolean isOpened) 设置当前的状态。

you can set up the current status by invoking setOpened(boolean isOpened) within the codes

也可以根据isOpened() 获得当前的状态。

you can also acquire the status according to isOpened().

##高级用法 Advanced usage

  • 支持开关的'延时操作'。就像这样: support the delay operation of the switch. like this:

image

为了达到这样的效果,仅仅需要在activity中: in order to get the wanted effect, you need open the activity:

final SwitchView viewSwitch = (SwitchView) findViewById(R.id.view_switch);
// 设置初始状态。true为开;false为关[默认]。set up original status. true for open and false for close[default]
viewSwitch.setOpened(true);
viewSwitch.setOnStateChangedListener(new OnStateChangedListener() {
    @Override public void toggleToOn(View view) {
    	// 原本为关闭的状态,被点击后 originally present close status after clicking
		
        // 执行一些耗时的业务逻辑操作 implement some time-consuming logic operation
        viewSwitch.postDelayed(new Runnable() {
    		@Override public void run() {
				viewSwitch.toggleSwitch(true); //以动画效果切换到打开的状态 through changing animation effect to open status
			}, 1000);
	}
	@Override public void toggleToOff(View view) {
		// 原本为打开的状态,被点击后 originally present the status of open after clicking
		viewSwitch.toggleSwitch(false);
	}
});

toggleSwitch() 设置新的状态并执行过渡动画。for seting up new status and implement transition animation.

setOnStateChangedListener() 监听当状态变化时。monitoring change of status.

  • 支持开关的'回滚操作'。就像这样: support the rolling back action, like this:

image

在上述toggleToOn()代码中调用viewSwitich.toggleSwtich(false);即可。

invoking viewSwitch.toggleSwitch(false) in the toggleToOn() code

##优点 Advantages 只涉及到一个类文件,异常容易集成进入你的项目。 only one class file, very easy to integrate into your program

##更加详细的源码分析和实现思路讲解 请戳这里

##感激 Appreciation 感谢这些朋友 Gratitude to all friends involved

##其它 Others 希望你喜欢我的作品。Star是对我的最大支持. 谢谢

hope you like my work. Star support me a lot. thanks

About

iOS风格SwitchButton。 只涉及到一个类文件,异常容易集成进入你的项目。支持开关的"延时和回滚"操作。only one class file, very easy to integrate into your program. support the delay operation and rolling back action of the switch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%