开发日记——手机安全卫士 Day02 2016-7-21 完成导航页面和切换功能
2016-07-24 21:09
441 查看
手机安全卫士 Day02 2016-7-21 完成导航页面和切换功能
导航页面底端使用RadioGroup和RadioButton控件。RadioButton背景使用了自定义的背景选择器,用于控制按钮点击时显示的颜色。
背景选择器:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked = "true" android:drawable="@drawable/circle_blue"/> <item android:state_checked = "false" android:drawable="@drawable/circle_gray"/> </selector>灰色圆点:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#acacac"/> </shape>切换页面需要定义动画效果,在res目录下新建anim文件夹(-100%p,0) (0,0) (100%p,0)上一个页面进入动画如下:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="-100%p" android:toXDelta="0" android:fromYDelta="0" android:toYDelta="0" android:duration="500" android:repeatCount="0" > </translate>
由于每一个界面都需要进行滑动,定义一个父类实现手势识别功能。
public abstract class BaseSetUpActivity extends Activity {public SharedPreferences sp;private GestureDetector mGestureDetector;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);sp=getSharedPreferences("config",MODE_PRIVATE);mGestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){//e1:触碰 e2:离开//velocity速度 pix/s@Overridepublic boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY){if(Math.abs(velocityX)<200){return true;}if(e2.getRawX()-e1.getRawX()>200){//从左向右showLast();overridePendingTransition(R.anim.last_in,R.anim.next_out);return true;}if(e1.getRawX()-e2.getRawX()>200){//从左向右showNext();overridePendingTransition(R.anim.next_in,R.anim.last_out);return true;}return super.onFling(e1,e2,velocityX,velocityY);}});}public abstract void showLast();public abstract void showNext();@Overridepublic boolean onTouchEvent(MotionEvent event){mGestureDetector.onTouchEvent(event);return super.onTouchEvent(event);}public void startActivityAndFinishActivity(Class<?> cls){Intent intent = new Intent(this,cls);startActivity(intent);finish();}}
页面4的按钮是一个ToggleButton,按钮背景可以通过自定义图片显示器控制
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:drawable="@drawable/swtch_btn_on"></item><item android:state_checked="false" android:drawable="@drawable/switch_btn_off"></item></selector>
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories