![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 57
再过五分钟
这个作者很懒,什么都没留下…
展开
-
Android多窗口事件
Android多窗口类型现在主要有三种:分屏模式,自由模式(弹窗模式),画中画模式。多窗口模式的实现依赖于FrameWork层的代码,app层面开启多窗口只需要在AndroidManifest.xml中声明属性即可android:resizeableActivity="true"声明该属性后,该应用在支持多窗口的机型上即可在多窗口模式下打开。如果需要禁用多窗口,只需要在属性里声明android:resizeableActivity="false"即可,该属性只有在sdk24及以上才能原创 2022-03-19 11:54:42 · 3018 阅读 · 0 评论 -
Talkback点击事件
和正常状态下的点击事件一样,Talkback下的点击事件也有相应的处理流程。正常状态下的点击事件正常状态下的点击事件主要有dispatchTouchEvent(),onInterceptTouchEvent(),onTouchEvent(),Talkback下的点击事件主要有dispatchHoverEvent(),onInterceptHoverEvent(),onHoverEvent()其中比较特殊的是onInterceptTouchEvent()和onInterceptHoverE原创 2022-03-19 11:51:58 · 2920 阅读 · 0 评论 -
Handler基础
应用程序启动时,会开启一个主线程(即UI线程),用来管理UI,监听用户点击,相应用户并发事件分发。所以主线程不进行耗时操作,否则出现ANR错误。这些耗时操作放到子线程中,由于Android子线程不是安全的,所以只能在主线程中更新UI。Handler就是用来子线程和创建Handler的线程进行通信的。Handler的作用1、按照时间计划,在未来某时刻,对处理一个消息或执行某个runnable实例。2、把一个对另外线程对象的操作请求放入消息队列中,从而避免线程冲突。Handler的使用原创 2022-03-19 11:49:02 · 2777 阅读 · 0 评论 -
AsyncTask基础
Android现在的异步任务的方式有两种:AsyncTask和Handler。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但是缺点也比较明显,例如代码比较臃肿,在多个任务同事执行时,不易对线程进行精确地控制。为了简化操作,Android提供了AsyncTask类,使得创建异步任务变得更加简单。AsyncTask的定义三种泛型分别代表“启动任务输入的执行参数”,“后台任务执行的进原创 2022-03-19 11:44:06 · 1365 阅读 · 0 评论 -
Android动画浅谈(二)
之前只是简单的讲了讲Android动画当方面一些基础、定义之类的,今天讲一讲一些比较具体的应用场景。主要是动画的监听,对动画的监听和其他事件的监听一样,都是使用添加Listener的形式,利用listener进行监听,一般主要使用的监听有两个,Animator.AnimatorListener和AnimatorListenerAdapter,两者的差别在于使用的时候AnimatorListenerAdapter可以直接实现一种监听事件就使用(onAnimationStart (动画开始),onAnimati原创 2021-12-19 16:39:44 · 1673 阅读 · 0 评论 -
Android横竖屏切换的生命周期
之前被前辈问到过很多次这个问题,也在网上查找多答案,今天好奇试了试,在这里分享一下。忘了之前看的是什么时候发的文章,里面讲过横竖屏切换的生命周期问题,大致内容是未配置android:configChanges的情况下,横-》竖会走一次生命周期,而竖-》横会走两次生命周期,但是今天实际实验了一把,发现和之前的文章不太相符。首先是竖-》横,其生命周期如下:然后是横-》竖,其生命周期如下:...原创 2021-10-18 20:26:54 · 835 阅读 · 0 评论 -
Camera2录像流程浅析
昨天分享了Camera2预览拍照的流程,今天简单分享一下Camera2录像的实现过程。总的来说Camera2实现录像和实现预览拍照的方法差不多(只有细微差别,需要使用MediaRecorder记录数据,使用的CameraDeciue1、首先和预览拍照一样,实现和相机有关的功能必须先获取相机服务即获取CameraManager对象。CameraManager mCameraManager = (CameraManager)getSystemService(Context.CAMERA_SERVICE原创 2021-10-08 09:52:29 · 2133 阅读 · 0 评论 -
Camera2预览拍照流程
Camera2是现在Andoird相机开发中经常使用的框架,最近一直在学习Camera2的使用,今天简单分享一下我学到的Camera2的预览拍照的流程。1、获取相机服务,在Camera2中相机服务的管理使用CameraManager对象来进行,所以第一步是获取相机服务。CameraManager mCameraManager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);2、获取相应的CameraDevice,想要具体的使用原创 2021-09-30 21:40:54 · 1282 阅读 · 8 评论 -
Android权限申请
Android权限申请分为两种情况:一种是普通权限;一种是危险权限。对于普通权限的申请和正常的权限申请一样,只需要在AndroidManifest.xml中使用<uses-permission/>标签申请即可,而对于特殊的危险权限,不仅需要在AndroidManifest.xml中申请,还需要在使用的过程中动态申请权限(也叫运行时权限,Android 6.0之后出现)。那么有哪些是危险权限呢?目前的危险权限主要有9组24个。对于以上的权限,需要在使用的时候动态申请,同时还需要注意的是原创 2021-09-06 14:04:21 · 3617 阅读 · 0 评论 -
浅谈Android事件分发
Android事件分发不论是实际应用中还是面试中都是经常用到的知识,所以今天简单的介绍一下。首先,事件分发的"事件“是指Android中的点击(Touch)事件,事件分发渐大的讲就是讲点击事件传递到相应的View并处理的过程。Android中对点击事件进行处理的对象及其顺序为:Activity->ViewGroup->view及其子类。首先是Activity对事件进行分发:从用户手指接触到手机屏幕开始,事件就已经开始产生,Activity接收到用户点击的事件之后开始对事件进行分发(Acti原创 2021-09-02 22:19:05 · 103 阅读 · 0 评论 -
RecyclerView生成Item
最近在使用RecyclerViewde制作一个聊天界面的时候,页面总是显示不出来Item,仔细检查代码之后终于发现了问题,简单的记录一下:我想要建立的是纵向item的RecyclerView,刚开始使用的确实横向布局的LinearLayout,导致每次...原创 2021-08-23 19:59:40 · 196 阅读 · 0 评论