Hotseat栏增加滑动功能
来源:互联网 发布:淘宝图片空间手机端 编辑:程序博客网 时间:2024/05/21 09:30
客户需求:在滑动hotseta栏实现调节屏幕亮度功能。
定位到文件:package/apps/trebuchet/src/com/android/launcher3/Hotseat.java
增加全局变量:
private GestureDetector gestureDetector;private static final int RIGHT = 0; private static final int LEFT = 1;
监听
private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() { @Overridepublic boolean onDown(MotionEvent e) {Log.i("TAG","onDown");return false;} @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { float x = e2.getX() - e1.getX(); float y = e2.getY() - e1.getY(); Log.i("TAG","x = "+x ); if (x > 0) { doResult(RIGHT); //向右滑,调亮 } else if (x < 0) { doResult(LEFT); //向左滑,调暗 } Log.i("TAG","onScroll");return false;} }; public void doResult(int action) { switch (action) { case RIGHT: System.out.println("go right"); //与系统自带调节亮度实现方法相同,具体实现 参考:/framework/base/packages/systemui/com/android/systemui/settings/BrightnessController.java break; case LEFT: System.out.println("go left"); //与系统自带调节亮度实现方法相同,具体实现 参考:/framework/base/packages/systemui/com/android/systemui/settings/BrightnessController.java在构造方法中初始化onGestureListener
public Hotseat(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); Resources r = context.getResources(); mTransposeLayoutWithOrientation = r.getBoolean(R.bool.hotseat_transpose_layout_with_orientation); mIsLandscape = context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;gestureDetector = new GestureDetector(context,onGestureListener); //初始化 listener }
还有最重要一点:
@Override public boolean onInterceptTouchEvent(MotionEvent ev) { // We don't want any clicks to go through to the hotseat unless the workspace is in // the normal state. if (mLauncher.getWorkspace().workspaceInModalState()) { return true; } /*拦截 具体原理参考 上一篇文章 Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()*/if (gestureDetector.onTouchEvent(ev)){return true;} return false; }
0 0
- Hotseat栏增加滑动功能
- Hotseat栏消失
- viewpager增加滑动属性
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- Launcher3将hotseat栏固定,禁止拖动,禁止形成文件夹
- Hotseat宽度
- SQLSERVER增加调试功能
- CodeIgniter增加widget功能
- MediaPlayer增加字幕功能
- 增加附件上传功能
- 增加类的功能
- RichTextBox增加搜索功能
- 增加ethernet功能
- IOS增加spin功能
- novaclient增加功能
- BASH增加日志功能
- adb 增加认证功能
- 增加Input设备功能
- android 启动不起来
- 字符串和编码
- Android tips(一)-->Android SDK镜像的介绍使用
- 没有目标、规划、路线图的摸索
- Codeforces 598D:Igor In the Museum
- Hotseat栏增加滑动功能
- ViewPager设置一次显示的页面个数
- QQShow
- XXTEA
- object-C方法调配
- 深度学习-LeCun、Bengio和Hinton的联合综述(下)
- 数据库(mysql,Navicat for MySQL,Sql_server_2008,Oracle)资源
- myeclipse下部署项目不能finish
- Base64