
Android-View
文章平均质量分 59
慵懒的树獭
转型中的Android开发
展开
-
Android View.getWidth()=0
View.getWidth()=0,width and height must be > 0原创 2017-03-29 17:24:19 · 1746 阅读 · 0 评论 -
二级菜单——ExpandableListView以及用RecyclerView实现
前言二级菜单这个功能,相信很多app都需要这个功能,而我最近的项目中也有这样的需求。正常情况下,快捷的实现方式是使用Android提供的二级菜单控件——ExpandableListView,并编写相应的adapter,继承自BaseExpandableListAdapter即可。而非正常情况下,就是自己去实现这个二级菜单控件功能,而实现的基础就是RecyclerView。 优缺点 Expa...原创 2018-04-20 11:19:25 · 13524 阅读 · 5 评论 -
ListView异步加载乱序原因分析及解决
本文出自郭霖的博客,转载必须注明出处。 https://blog.youkuaiyun.com/sinyu890807/article/details/45586553 ...转载 2018-04-18 13:57:17 · 380 阅读 · 0 评论 -
android自定义View之尺子
最近在做一个时间设置功能,之前都是简单的用一个EditText来实现,并设置输入范围或者输入错误的警告信息,这样的方法虽然简单,但用户使用起来,显得繁琐,而且还动不动的蹦出来俩提示,一点都不友好。 因此这次换个新的设计吧——卡尺选择。主要介绍一下这个View的主要几个绘制点: 1. 坐标轴:需要绘制X轴(横向卡尺)或Y轴(纵向卡尺)drawLine(Canvas canvas, Paint原创 2018-01-09 11:03:22 · 2193 阅读 · 0 评论 -
viewpager java.lang.IllegalArgumentException:The observer is null
最近在做竖向切换的ViewPager时遇到了问题。。。首先这个竖向的ViewPager是参照github上的大神做的,github地址请参考: https://github.com/simplezhli/ChangeTabLayout接下来说说我遇到的坑吧。 我的项目中使用的是MVP架构的fragment,这个VerticalViewPager就在其中的一个fragment中。由于使用了M原创 2017-12-21 17:27:32 · 346 阅读 · 0 评论 -
android自定义drawable之shape、selector和layer-list详解
虽然开发过程中,一直都在使用shape、selector,但总是现学现用—项目中需要的时候才去学习一下,用完就忘了,而且都是针对项目中需要的内容进行学习,而没有对这些属性进行全面深入的理解和总结,所以就对这些常用的基础知识点进行总结归纳。首先对着三种drawable的功能简单介绍一下:shape —— 用于设置控件的自身属性的效果形状,这些效果不会因为状态的改变而改变,比如圆形,圆角,边框效果等等。原创 2017-11-21 17:25:30 · 1971 阅读 · 0 评论 -
Dialog确认按钮不dismiss
在使用AlertDialog的时候,经常会遇到这样的需求:点击【确认】之后,如果dialog内的输入内容有误,则dialog不dismiss。但实际情况是,无论点击【确认】还是【取消】,dialog都会执行dismiss操作。查看源码如下:View.OnClickListener mButtonHandler = new View.OnClickListener() { publ原创 2017-10-17 14:26:39 · 1984 阅读 · 1 评论 -
Android动画使用详解
1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合。英文厉害的请直接移步参考Android Developer。Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:View Animation: 视图动画在古老的Android版本系统中转载 2017-11-02 15:16:11 · 231 阅读 · 0 评论 -
android返回键不销毁应用返回主界面
类似【微信】以及【支付宝】等应用的功能,在某一Activity界面点击返回键,隐藏应用并显示主界面,此时的返回键功能类似于home键。具体实现如下:@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTas原创 2017-10-09 11:59:37 · 857 阅读 · 0 评论 -
android读写excel文件
android操作excel文件需要用到第三方jar文件,共有两种jar文件可以供android来操作excel文件:poi.jar和jxl.jar.两者这要的区别在于poi.jar可以操作excel2007之前的,而jxl.jar只能操作excel2003以前的。接下来分别实现这两种方式的excel文件读写。·poi.jar下载poi.jar包 http://poi.apache.org/do原创 2017-10-17 15:32:07 · 17606 阅读 · 4 评论 -
打造究极复用的ListView Gridview适配器
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/38902805 ,本文出自【张鸿洋的博客】1、概述相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承BaseAdapte转载 2017-09-11 10:59:23 · 263 阅读 · 0 评论 -
android5.0之后不允许使用隐式Intent启动Service
android5.0以后不能使用隐式intent启动Service,即不允许只设置action的方式来启动service:// 实例化Intent Intent it = new Intent(); //设置Intent的Action属性 it.setAction("com.android.activity.MY_ACTION"); // 启动Activity startActi原创 2017-09-25 16:05:29 · 3385 阅读 · 0 评论 -
Activity+弹框,点击home键Activity生命周期
正常情况下,Activity的启动和退出(back键)的Activity生命周期输出如下: 启动Activity之后,弹出一个AlertDialog类型的对话框,并没有影响Activity的生命周期: 在Activity界面,点击home键,再返回APP的Activity生命周期: 由上面的各生命周期可知,弹框并不会引起Activity的生命周期变化,所以在弹框的情况下,点击home键,其Acti原创 2017-09-25 11:44:26 · 2298 阅读 · 0 评论 -
隐藏/显示android软键盘
在Android开发过程中,经常会遇到这样的情况:登录时,输入了帐号密码之后,点击登录按钮,发现软键盘并没有隐藏起来。这时候如果显示了登录进度框,进度款就不会在既定的位置显示,而是显示在软键盘的上方。因此,这时候就需要我们主动的去隐藏软键盘,即让Android中的软键盘不显示。今天,和大家分享如何利用代码来实现对Android的软件盘的隐藏、显示的操作。1、方法一(如果输入法在窗口上已经显示,则隐藏原创 2017-09-05 15:38:58 · 3334 阅读 · 0 评论 -
ListView setOnItemClickListener无效原因分析
如果在ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是Item本身能够获取Focus,所以点击Item无法获取点击响应。可以通过以下两种方法之一进行解决:1、在button、checkbox对应的view处加上android:focusable="false"android:clickabl原创 2017-07-21 16:03:06 · 439 阅读 · 0 评论 -
Android新特性介绍,ConstraintLayout完全解析
转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/53122387 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。今天给大家带来2017年的第一篇文章,这里先祝大家新年好。本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android S转载 2017-06-26 09:22:12 · 443 阅读 · 0 评论 -
android 性能优化 -- 启动过程 冷启动 热启动
一、应用的启动方式 通常来说,启动方式分为两种:冷启动和热启动。 1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。 2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用...转载 2018-08-30 13:39:39 · 527 阅读 · 0 评论