android
文章平均质量分 96
老胡杨
这个作者很懒,什么都没留下…
展开
-
采用aar方式将react-native集成到已有安卓APP
关于react-native和android的开发环境搭建、环境变量配置等可以查看[官方文档]。原创 2023-02-20 14:01:14 · 1655 阅读 · 10 评论 -
设置Android整个应用程序字体大小
Android手机在系统设置里面都可以对系统字体的大小进行缩放比例的设置,如果进行了系统字体大小缩放比例的设置,安装在手机上的app内的字体大小也会跟着改变,如果app没有进行相应的适配的话,就会导致app的用户视觉效果很差,可以调用相应的api给app字体一个固定的比例,即使用户进行了设置,app的页面效果也不会受影响;Resources resource = context.getResourc原创 2017-12-02 11:11:19 · 6540 阅读 · 0 评论 -
MVP模式及BaseActivity的简单封装
在刚开始做项目的时候采用的都是MVC的模式开发的,但是接触MVP模式后,感觉真的不一样,MVP模式虽然导致类的增加,但是activity中代码减少了很多,同时整洁性提高了很多,所以在之后的项目开发中肯定会采用MVP模式开发。MVC模式: M—>Model:业务逻辑和实体模型 V—->View:对应的布局文件 C—->Controllor对应于Activity 通过MVC模型图可以看原创 2017-12-21 07:27:17 · 1171 阅读 · 0 评论 -
手写IOC注解,解决findViewById和点击事件
在项目开发中findViewById以及控件的点击事件的场景是最多的,大量的findViewById并强转会浪费不少的开发时间,那么是否能解决掉这个问题呢?答案肯定是能解决;像xutils、butterKnidnife等主流第三方框架就很好的解决了这些问题,那么这些第三方的已经帮助开发者解决掉这些问题了,是否还要自己学着去写一套手写的IOC注解呢,肯定是需要的,在学习写的过程中能更好的理解这些第三原创 2017-12-15 15:43:04 · 434 阅读 · 0 评论 -
手写ButterKnife视图注入,解决findViewById
在上一篇手写IOC注解,解决findViewById和点击事件(http://blog.csdn.net/wangwo1991/article/details/78811831) 博客中就实现了IOC注解,不过那里采用的是运行时注解的方式实现的,这里的手写ButterKnife将采用编译时注解的方式实现;运行时注解的方式实现过程中使用了不少反射,会对运行效率有影响,而编译时注解的方式实现对运行效率原创 2017-12-16 11:07:52 · 303 阅读 · 0 评论 -
打造通用的下拉列表
这是一个通用的下拉列表效果,类型和价格展示的是一个textview,品牌和更多展示的是一个RecyclerView列表效果;这里是采用adapter设计模式实现的。实现思路:1、可以模仿ListView的BaseAdapter那样建立一个抽象的adapter,后面的适配将继承自该抽象类;2、自定义布局容易,将tab栏,菜单内容、背影逐一添加到布局容器中;3、实现下拉和收缩效果,并为原创 2018-01-28 14:28:27 · 220 阅读 · 0 评论 -
android Handler、Looper、Messsage、MessageQueue源码解析
Handler:发送和接收消息Looper:消息(循环)轮询器Message:消息池MessageQueue:消息队列。虽然名为队列,但事实上它的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表的先来看Handler,其实系统很多东西都是通过Handler消息来实现的,其中也包括activity的生命周期,应用程序的退出等;在ActivityThread类中的main方法中可以...原创 2018-05-05 11:50:02 · 286 阅读 · 0 评论 -
PickerView--仿ios滚轮时间选择、城市选择效果
在项目开发中Android基本都是在跟随ios的风格,前段时间产品经理就要求按照ios的效果,做时间、城市选择效果,真要全部自己写还真有点蛋疼,所以在网上一搜,效果不少,其中PickerView用的人还是蛮多的,所以就决定用PickerView来实现;PickerView提供了:时间选择器和选项选择器——TimePickerView 时间选择器,支持年月日时分,年月日,年月,时分等格式。...原创 2018-12-16 15:19:11 · 4343 阅读 · 0 评论 -
AOP面向切面编程--检测网络
在项目开发中有时候会碰到这样的需求,就是在没有网络的情况下,点击按钮不进行页面跳转或不执行正常的业务逻辑,其实京东和淘宝等不少app都是这样处理的,面对这样的需求,肯定会想到在用户点击该按钮的时候去做网络的检测,没有网络就提示用户并停止下面的执行,有网络就执行正常的业务逻辑;public void click(View view){ if(!CheckNetUtil.isNe...原创 2019-01-07 07:39:26 · 955 阅读 · 0 评论 -
RecyclerView+PopupWindow实现下拉列表选择效果
已适配Android7.0 popuwindow全屏显示问题 实现主要代码:/** * Created by miao on 2017/9/29. * 自定义PopupWindow 实现下拉列表效果 */public abstract class SpinerPopWindow<T> extends PopupWindow{ private List<T> datas;原创 2017-10-16 07:58:59 · 2764 阅读 · 0 评论 -
ExpandableListView万能adapter封装轻松实现分组列表及单选效果
在项目开发中有时候会碰到类似于QQ好友列表的分组列表效果的需求,实现的方式有很多种,可以用ListView、RecyclerView等方式实现,其实系统提供了ExpandableListView可以很轻松的实现;ExpandableListView extends ListView所有在用法上和ListView差不多,都需要设置adapter,但是ExpandableListView的adapter原创 2017-10-20 22:36:02 · 1249 阅读 · 0 评论 -
引导页面的实现
第一次进入应用的时候,都会有一个引导页面,引导页面的实现起来也很简单,实现的方式也有很多,下面是自己写的一个引导页面的效果,大致的实现思路为: 最外层是一个FragmentActivity,里面包含4个fragment,在fragment中给ViewPager开一个循环,这样实现了图片播,其实效果就是在FragmentActivity中几个fragment滑动切换, fragment中ViewP原创 2017-02-07 10:37:43 · 949 阅读 · 0 评论 -
RadioButton和ViewPager实现页面切换效果
BaseFragmentActivity中包含几个Fragment滑动切换页面这种效果是很常见的效果,实现的方式也有很多,TabHost可以实现其效果,不过TabHost的实现方式相比于其他的方法有点复杂,所以TabHost 基本放弃掉了,在这里用的是RadioButton和ViewPager的方式来实现的,android.support.v4.view.ViewPager本来就有滑动切换的效果,原创 2017-02-14 11:43:30 · 2773 阅读 · 0 评论 -
获取联系人姓名和电话
在开发中往往有要获取联系人列表的功能,但是这次却不是获取联系人列表,而是在联系人列表点击单个联系人,获取单个联系人的姓名和电话,并设置在指定的输入框内,方便用户的使用;以下是实现的代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro原创 2017-01-23 10:56:43 · 1384 阅读 · 0 评论 -
ScrollView滑动悬停效果
ListView、ExpandableListView和ScrollView滑动悬停效果是开发需求中经常遇到的效果,最近的开发需求刚好碰到了ScrollView悬停效果,效果类似于listview的列表效果,但是最终还是选择了用ScrollView 来实现,因为每个条目中又包含了不同的控件,有edittext、textview、imageview等,特别是edittext这个控件,在listvie原创 2017-03-20 10:16:51 · 1295 阅读 · 0 评论 -
ScrollView嵌套 ListView显示不全
相信很多android开发者,在之前的开发中会碰到ScrollView嵌套 ListView的时候,ListView只会显示一条,当时开发的时候,只是在网上找了如何解决,并没有去弄清楚为什么会只显示一条,最近在看一位大牛的资料的时候,听他一讲也就知道了原因,所以记录在这里; ScrollView和ListView都是继承自ViewGroup的,那他们在绘制的时候都会调用onMeasure方法进行测原创 2017-06-24 11:31:39 · 1635 阅读 · 0 评论 -
Android调用系统相机或相册更换头像
在android项目开发中,手机端的开发中,都会涉及到用户信息,而用户信息中就会涉及到切换用户头像的功能,刚好前端时间进行过这方面的开发,下面是该功能的实现: 布局文件中我使用的是ImageButton来实现的,当然也有用imageview和button方式实现的;<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a原创 2016-01-12 14:07:40 · 4742 阅读 · 3 评论 -
listview万能adapter
在日常开发中,经常会使用到listview,在使用listview的时候肯定会涉及到adapter的使用,如果每次使用一次就建立一个新的adapter这样就会造成代码的冗余,会多写很多没有必要的代码,在使用的时候应根据自己的需要进行封装,可以定义个DefaultAdapter去继承BaseAdapter,将有共性的代码写在这里面,不存在共性的使用抽象法让继承DefaultAdapter类去实现;同时原创 2017-02-04 11:02:27 · 354 阅读 · 0 评论 -
Only the original thread that created a view hierarchy can touch its views.
场景: 项目开发中会涉及到一些耗时操作,这个时候就会开启一个子线程,将耗时操作放到子线程中取操作,操作完毕后,往往还要同步更新ui,这个时候如果直接在子线程中更新ui,将会导致程序的闪退,同时还会看到android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a原创 2017-09-28 08:31:13 · 6821 阅读 · 2 评论 -
android虚拟键盘弹出遮挡登陆按钮问题
android虚拟键盘的弹起会遮挡住部分ui,虽然通过在清单文件中设置,可以随着虚拟键盘的弹出,布局往上推,但是面对登陆界面时,并没有太大的作用,这样就会导致用户体验不好;开发中既然出现了就的解决;先说先解决的思路:获取到屏幕的高度、虚拟键盘的高度,布局的高度,用屏幕的高度减去布局的高度,用高度差和虚拟键盘的高度进行对比;代码实现如下;private LinearLayout logo_layout原创 2017-01-22 14:27:23 · 987 阅读 · 0 评论