仿IOS开关button 自定义ios开关控件
2016-10-22 17:35
113 查看
我是安卓一年新人,好像最近有那种突然入门了的感觉,觉得什么都可以做,什么都能做,什么都能做出来,做好,朋友说这是第一个门槛,我猜可能真的是,但是不管怎么样,这种感觉和手感一定要保留下来,所以漫无天日的开始写控件,觉得很有意思.就比如IOS的开关按钮.
IOS的开关按钮看起来很炫酷,我也仿了一个.先上图
个人觉得很容易实现的.一下是源码,不多解释了.
真的没有什么好解释的,两个动画,用fln决定开关属性.
我是安卓1年新人,请指教.
IOS的开关按钮看起来很炫酷,我也仿了一个.先上图
个人觉得很容易实现的.一下是源码,不多解释了.
public class MainActivity extends Activity { private RelativeLayout rl1; private TextView tv1; private boolean fln; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rl1 = (RelativeLayout) findViewById(R.id.rl1); tv1 = (TextView) findViewById(R.id.tv1); fln = true; rl1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(fln){ //开启的动画 Animation translateAnimation=new TranslateAnimation(0, 40, 0, 0); translateAnimation.setDuration(200);//设置动画持续时间为3秒 translateAnimation.setInterpolator(MainActivity.this, android.R.anim.accelerate_decelerate_interpolator);//设置动画插入器 translateAnimation.setFillAfter(true);//设置动画结束后保持当前的位置(即不返回到动画开始前的位置) tv1.startAnimation(translateAnimation); rl1.setBackgroundResource(R.drawable.corner02); fln = false; }else{ //关闭的动画 Animation translateAnimation=new TranslateAnimation(40, 0, 0, 0); translateAnimation.setDuration(200);//设置动画持续时间为3秒 translateAnimation.setInterpolator(MainActivity.this, android.R.anim.accelerate_decelerate_interpolator);//设置动画插入器 translateAnimation.setFillAfter(true);//设置动画结束后保持当前的位置(即不返回到动画开始前的位置) tv1.startAnimation(translateAnimation); rl1.setBackgroundResource(R.drawable.corner01); fln = true; } } }); } }
xml文件 corner00 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#ffffff"/> <stroke android:width="0.5dp" android:color="#dddddd" /> <corners android:topLeftRadius="13dp" android:topRightRadius="13dp" android:bottomLeftRadius="13dp" android:bottomRightRadius="13dp" /> </shape> corner01 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#ffffff"/> <stroke android:width="1dp" android:color="#dfdfdf" /> <corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" /> </shape> corner02 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#4bd663"/> <stroke android:width="0.5dp" android:color="#4bd663" /> <corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" /> </shape>
真的没有什么好解释的,两个动画,用fln决定开关属性.
我是安卓1年新人,请指教.
相关文章推荐
- UISwitch 开关控件—IOS开发
- ios之分段控件和开关
- 【视图控件篇】自定义Android控件之IOS滑动开关模拟详解
- iOS 分段选择控件 开关按钮 滑杆
- iOS开发之 分段选择控件 开关 滑杆
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- ios基础控件之开关按钮(UISwitch)
- IOS--UISwitch 开关控件
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- ios开关和滑块控件操作学习
- android 仿ios开关控件
- UISwitch 开关控件—IOS开发
- iOS 5 编程(2)-开关(UISwitch)、分段控件(UISegmentedControl)和Web视图(UIWebView)控件的使用
- 状态控件ios 中滑块、开关、分段控件、操作表和警告的常用函数
- 【iOS开发-12】UISwitch开关控件属性介绍以及获取开关状态并做出响应
- iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
- 自定义View:仿ios开关按钮控件
- ios基础控件之开关按钮(UISwitch) 分类: ios开发 2015-04-08 21:24 188人阅读 评论(0) 收藏