![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android之进阶
fly_Xiaoma
技术分享,技术学习
展开
-
TextView之Drawable
在Android开发中,避免不了要经常编写UI布局,其中常用的一个控件是TextView。在TextView中有一个不常用的属性Drawable(包括DrawableLeft、DrawableRight、DrawableTop、DrawableBottom)可以分别解释为将图片置于文字的:左侧、右侧、上侧和下侧。注意:其中有一个方法是设置图片与文字的距离:drawablePadding。...原创 2018-11-29 08:53:28 · 726 阅读 · 0 评论 -
IPC之Binder
从不同角度对Binder的理解: 直观来说,Binder是Android中的一个类,它实现了IBinder接口。从IPC来说,Binder是Android中的一种跨进程通信方式;Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在Linux中没有;从Android 框架层来说,Binder 是ServiceManager连接各种Manag...原创 2018-12-19 08:57:05 · 415 阅读 · 0 评论 -
ScrollView与ListView(ExpandableListView)的滑动冲突解决方法
在Android开发中,如果外层使用ScrollView嵌套ListView(ExpandableListView),以下统一称为ListView,会导致ListView的显示高度变窄,甚至不能实现屏幕外内容的括展,那么滑动冲突就出现了。解决思路:思路一:在XML中将高度固定(如果ListView中的item不够多,或者要显示的内容没有超出屏幕可以使用) 在代码中将高度固定,如下所示...原创 2018-12-10 21:27:10 · 1123 阅读 · 0 评论 -
Android之格式变量%1$s、%1$d的用法
作用:动态的拼接字符串,使代码更简洁,更易维护和扩展。1、整型如,“他的手里有XX个苹果”,这个XX需要从服务或者别的地方获取,那么在代码中就可以这么写:<string name="number">他的手里有%1$d个苹果</string>同时,在程序代码中tvNumber.setText(getContext().getString(R.strin...原创 2018-11-30 09:37:21 · 442 阅读 · 0 评论 -
Android之坐标系以及获取坐标系的方法
概括:Android中有两种坐标系(Android坐标系和视图坐标系)。下面将介绍这两种坐标系以及在坐标系中获取对应的坐标值的一些方法。Android坐标系和视图坐标系1)Android坐标系所谓的Android坐标系就是以手机屏幕左上角为原点,从该点水平向右为X轴,从该点水平向下为Y轴。如果是在触控事件中,获取坐标值的方法为getRawX()和getRawY()。示例图如下:...原创 2018-12-02 12:36:39 · 680 阅读 · 0 评论 -
Android之this与getApplicationContext()的区别
this:代表当前,在Activity中就是代表当前的Activity(或者可以理解为Activity.this当中可以缩写为this)getApplicationContext():生命周期就是整个应用,应用摧毁,它才摧毁。注意:在某一个Activity中获取context对象时,要慎重选择,若是选择getApplicationContext()获取上下文,当前所在Activity销毁时...原创 2018-11-20 15:50:01 · 449 阅读 · 0 评论 -
Android之“自定义AlertDialog”
在开发中经常会用到AlertDialog,但是Android自带的AlertDialog太丑啦,不如自定义一个AlertDialog思路:一般的AlertDialog一般包括标题 内容栏 确定按钮和取消按钮;好,在UI总布局中,设置一线性布局,从上到下依次包括TextView TextView LinearLayout,依次显示标题、内容和确定取消按钮(其中LinearLayout中包含两...原创 2018-11-20 18:01:58 · 349 阅读 · 0 评论 -
Android之自定义Dialog中获取焦点问题
描述:在Activity中(Fragment)显示dialog时,此dailog会自动获取本屏幕的焦点,因此它会自动拦截你对物理按键的操作,而有时你不需要它拦截,或者只是让父布局做此操作,那么只需要在dialog的监听事件中做一些操作即可(如果是MVP架构模式,在里面尽量少做业务操作)思路:直接实现DialogInterface的onKeyListener()的监听DialogInter...原创 2018-11-23 09:13:00 · 6171 阅读 · 0 评论 -
Android之getActivity()为null的情况
在Fragment中,有时候会对所在的Activity操作,比如获取物理返回键的监听。需要注意:如果直接采用getActivity()方法,可能会产生空指针的异常(当系统内存不足时,JVM会优先回收优先级低的应用,如果此时Fragment所在的Activity被回收,而Fragment没有被回收,那么就会产生空指针异常)解决方法:在Fragment中的onAttach()方法中设置一个...原创 2018-11-29 08:45:36 · 1638 阅读 · 0 评论 -
Android之MVP架构设计
MVC架构属于传统模式,在团队合作开发中最常用的就属MVP了,谷歌官方也提供了参考demo可见其重要之程度。MVP相比较于MVC优点有哪些:低耦合,Controller层不在混合有View层的逻辑 MVP是面向接口编程,对于代码量较大的APP来说,相比较合作开发的优势就体现出来了,每个人或每个团队只负责一块逻辑,责任分明 在MVP架构中,View层和Model层不直接交互,而Prese...原创 2018-11-20 16:41:02 · 326 阅读 · 0 评论 -
IPC之Serializable与Parcelable接口
IPC(Inter Process Communication)进程间通信的基础主要包含三个方面的内容:Seriablzable、Parcelable和Binder。无论采用何种IPC机制,采用的数据传输方式无外乎这三种。下面是Serializable与Parcelable接口的介绍(笔记):Serializable接口Serializable是Java提供的一个序列化接口,它是一个空接口...原创 2018-11-24 16:58:58 · 156 阅读 · 0 评论 -
进程保活
作者:minminaya链接:https://www.jianshu.com/p/b5371df6d7cb來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。感觉这篇文章很有借鉴意义,所以就拿来了一、常见保活方案 1、监听广播:监听全局的静态广播,比如时间更新的广播、开机广播、解锁屏、网络状态、解锁加锁亮屏暗屏(3.1版本),高版本需要应用开机后运行一...转载 2018-12-26 08:48:58 · 341 阅读 · 2 评论