![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
this.
这个作者很懒,什么都没留下…
展开
-
Android使用DrawerLayout和ToolBar实现仿知乎侧滑菜单
侧滑菜单现在在很多app上都可以看到,以下文章主要讲如何实现实现Android的侧滑菜单。可以先看一个简单的侧滑菜单设计。 示例图: 从屏幕左端向右滑动或点击左上角按钮可打开侧滑栏菜单。具体实现activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout原创 2016-01-23 21:44:06 · 6677 阅读 · 0 评论 -
自定义View
花了几个小时的时间总算把自定义View给理清楚了,以前总是没时间去看,网上总是一大把写好的控件。 在学习自定义View之前还需要回顾一下关于View的绘图流程相关知识。View的绘图流程有三个onDraw,onLayout还有onDraw。可以这样简单地描述这三个过程: onMeasure:计算出视图的大小。 onLayout:确定试图在屏幕中的显示位置。 onDraw:将控件绘原创 2016-11-20 20:47:37 · 414 阅读 · 1 评论 -
自定义ViewGroup
上一篇了解了如何去实现自定义View,这篇就了解下如何自定义一个ViewGroup。其实,自定义View和ViewGroup都需要从View的绘制机制来入手,可见了解绘图机制对于自定义View和ViewGroup的作用还是很大的。自定义ViewGroup主要在onMeasure和onLayout两个过程下手。通过onMeasure来确定好视图的大小,通过onLayout来确定每个视图的位置。 这原创 2016-11-20 21:05:25 · 414 阅读 · 0 评论 -
使用RxJava+Retrofit+MVP+Glide开发一个简单的新闻客户端
好久没有更新博客了,有点懒。。之前在网上看到很多有趣又高效的开源库,于是就想着写一个简单的项目来运用这些开源库,恰巧看见聚合数据上有个新闻头条的API,所以就尝试写了一下。先上效果图:在这个小项目中,使用RxJava和Retrofit网络请求框架来实现异步数据的获取是比较重要的环节。 关于RxJava和Retrofit的使用可以参考:http://gank.io/post/56e80c2c6776原创 2016-11-18 12:37:39 · 2782 阅读 · 0 评论 -
实现带右滑功能的ListView
近来看到QQ的联系列表的右滑功能很不错,于是就想着自己也设计一下,看看怎样才能实现这种右滑的功能,参考了网上的一些资料,搞定了各种bug,终于实现了一个简单的带右滑功能的ListView。先附上效果图吧: 以下是实现该功能的源码: SwipeListView.javapackage com.custom;import android.content.Context;import andro原创 2016-08-01 19:06:42 · 1000 阅读 · 0 评论 -
ListView的优化方法性能对比
相信大部分像笔者一样的初学者在开发android项目时会使用到ListView来加载多个相同类型的条目。 ListView是一个常见的组件,能够以列表的形式展示内容。说到ListView,就不得不提及Adapter(适配器),Adapter的作用是ListView界面与数据之间的桥梁,当列表里的每一项添加到界面中,都会调用Adapter的getView()方法返回一个View。 但问题来了,如果原创 2016-03-20 14:23:19 · 821 阅读 · 0 评论 -
解决ListView下拉刷新时导致图片闪烁问题
说ListView是一个难用的组件并不为过。最近在开发项目时遇到这样一个问题:当使用ImageLoader异步加载ListView的图片时,下拉刷新就会导致ListView中的图片闪烁。于是,经过几番测试,发现问题在于下拉刷新时会不断地重新计算ListView的LayoutParams导致不断执行getView()方法,最终出现了图片闪烁问题。 经过上网查找资料,最终解决了该问题,主要有两个解决方原创 2016-04-13 20:02:53 · 4902 阅读 · 0 评论 -
LayoutInflater的正确用法
Layout inflation是在android系统中使用的术语,当XML布局资源被解析并转换成View对象时会用到。 在Android SDK中,LayoutInflater是经常使用到的,但你也许会感到惊讶当你发现了一个LayoutInflater的使用误区,而且你的APP可能正在使用这种错误方式!当你的程序在使用LayoutInflater时,如果你写过像下面的代码:inflater.in翻译 2016-04-03 16:46:57 · 7447 阅读 · 0 评论 -
关于Volley二次封装的一些想法
最近忙于课程和项目,好久没有更新博客了。最近在项目中使用了Volley框架来请求数据,一开始接触Volley感觉使用起来挺简单,只需几个简单的操作就可以实现发送请求。以StringRequest 为例://创建一个请求队列RequestQueue requestQueue = Volley.newRequestQueue(this); String url = "这里是请求的链接.原创 2016-05-24 20:20:16 · 777 阅读 · 1 评论 -
实现带标题的ListView
在一些项目中,往往有要求为ListView里的内容分类,比如按日期分类,就要把相同日期的项目放在一起。可以看一些示例图,会清楚一些: 以上根据标题来进行分类,实现代码如下:首先是数据项的模型:public class Data { private String text1, text2, text3; //数据1 2 3 public Data(String text1, Str原创 2016-04-25 21:06:05 · 10938 阅读 · 6 评论 -
Android中GridView实现长按多选功能
前言:GridView可用于展示多行多列的统一格式数据,但本身没有多选操作。现通过一系列代码实现GridView的长按多选操作,可以先看一个示例图。 以下是实现该功能的主要代码: MainActivity.javapackage com.mygridview;import android.app.AlertDialog;import android.content.DialogInterf原创 2016-02-24 22:56:27 · 6243 阅读 · 2 评论 -
结合Tab,ViewPager,Fragment实现简单分页滑动
在APP设计当中,使用ViewPager和Fragment来实现分页滑动并不少见,该设计可以利用少量的空间来实现多内容的展示。效果图如下: 一下是实现该功能的代码:MainActivitypublic class MainActivity extends AppCompatActivity { private ViewPager viewPager; @Override原创 2016-04-06 11:13:41 · 2586 阅读 · 0 评论 -
RxJava&Retrofit错误预处理
RxJava和retrofit配合使用进行网络请求在实际开发中还是很强大的。在实际开发中,再对网络请求返回的结果往往要先进行预处理。即先过滤了错误的信息,在执行onNext()方法时只需要考虑正确的结果下如何处理就行。 以一个正常的Json返回为例:{ "status": 1, "errmsg": "OK", "data": {...}}{ "status": 0原创 2016-12-22 15:11:48 · 1822 阅读 · 0 评论