标签:
Touch
事件or手机卫士面试题整理回答(二)Touch
事件的传递机制顶级
View
->父View
->子View
,不处理逆向返回
OnInterceptTouchEvent()
,返回值控制Touch
是否向下传递.true
中断事件,false
不中断事件。
onTouchEvent()
返回值决定否处理事件。True
消耗事件,False
不处理事件向上传递。
ViewPage
和TextView
组合实现图片和标题的效果
ViewPage
设置setOnPageChangeListener
监听变换图片和对应文字内容。
Handler
发送handler.sendEmptyMessageDelayed(0, 200)
延时消息,实现自动变换图片。
ViewPage
设置setOnTouchListener
,清空handler
Message
消息队列,停止图片轮播
ViewPage
组合控件实现原理继承
ViewGroup
容器类MyViewPage
动态向容器添加控件。也可以是布局组合控件等等重写
onMeasure()
设置控件的宽高,子控件必须手动设置getChildAt(i).measure(widthMeasureSpec,heightMeasureSpec);
重写
onLoayout()
设置控件的绘制的位置。这里动态设置子控件绘制成一
字状,getChildAt(i).layout(getWidth() * i, 0, getWidth() * (i + 1), getHeight());
定义
GestureDetector
设置手势滑动回调监听重写
onTouchEvent(MotionEvent)
委托GestureDetector
手势识别器来处理滑动触摸事件,onScroll(...)
的回调。设置View
scrollBy()
水平方向滑动的距离。scrollTo(...)
设置滑动到的具体位置定义
Scroller
,控制滑动滑动效果。重写
computeScroll()
。View
在滑动时不断回调该方法,控制更新Page
页面页面定义
OnPageChangeListener
接口,设置页面改变回调监听onPageChange(...)
。
SharedPreferences
保存设置密码。是否进行过Guride
导向页设置。SIM
卡串号。
ViewPage
+Fragement
实现滑动替换页面逻辑,getSystemService(Context.TELEPHONY_SERVICE);
获取到系统电话发素获取到手机sim卡串号,绑定手机号码。 注册
广播
。电话卡改变发送短信个指定安全联系人。注册短信广播。
intent.getExtras().get("pdus");
得到不断发送过来的消息。截取短信内容实现对相应指令功能的操作。
ListView
自定义可改变mData
的Adapter
AlartDialog
添加黑名单,设置拦截模式AsyncTask
异步加载查询黑名单。扉页查询黑名单
通过是否开启一个服务,获取到电话号码,挂断电话,并销毁通话记录。
ViewUtils注解事件,注解控件问题,
通过
context.getPackageManager()
获取PackageManage
手机安装的所有软件管理器。并自定义Adapter``ListViwe
展示软件列表。
ListView
设置setOnItemClickListener
监听弹出PopupWindow
事项设置相应的Intent
来实现对该列表项软件的操作
获取到系统服务 得到运行的进程信息
// 通过AcitvityManager 取得想应的进程信息;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
// 获取到包管理器
PackageManager pm = context.getPackageManager();
// 获取系统运行的程序信息
List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses();
AsyncTask
异步加载,ListView
展示进程列表。并分辨是系统进程or用户进程。通过
ActivityManager
通过killBackgroundProcesses(...)
杀死用户进程。为了防止
Service
后台线程被杀死。动态注册registerReceiver
一个广播,重启杀死Service
。
标签:
原文地址:http://www.cnblogs.com/ganwei/p/4853434.html