- 博客(62)
- 收藏
- 关注
转载 Android View绘制的13问13答。
1.View的绘制流程分几步,从哪开始?哪个过程结束以后能看到view?答:从ViewRoot的performTraversals开始,经过measure,layout,draw 三个流程。draw流程结束以后就可以在屏幕上看到view了。 2.view的测量宽高和实际宽高有区别吗?答:基本上百分之99的情况下都是可以认为没有区别的。有两种情况,有区别。第一种 就是
2016-04-07 17:01:30
458
转载 Android 百分比布局库(percent-support-lib) 解析与扩展
一、概述周末游戏打得过猛,于是周天熬夜码代码,周一早上浑浑噩噩的发现android-percent-support-lib-sample这个项目,Google终于开始支持百分比的方式布局了,瞬间脉动回来,啊咧咧。对于这种历史性的时刻,不出篇博客难以表达我内心的激动。还记得不久前,发了篇博客:Android 屏幕适配方案,这篇博客以Web页面设计引出一种适配方案,最终的目的就是可以通
2016-04-07 14:53:24
343
转载 View事件面试总结21问21答。
1.View的坐标参数 主要有哪些?分别有什么注意的要点?答:Left,Right,top,Bottom 注意这4个值其实就是 view 和 他的父控件的 相对坐标值。 并非是距离屏幕左上角的绝对值,这点要注意。 此外,X和Y 其实也是相对于父控件的坐标值。 TranslationX,TranslationY 这2个值 默认都为0,是相对于父控件的左上角的偏移量。 换算关系:
2016-04-05 18:42:10
391
转载 如何使用RecyclerView?
这篇文章是根据官网的一篇文章(这里)写的,不过作者增加了一些自己的理解,我十分推崇这种方式,而不是死板的翻译官网的文档,国内技术文章翻译的最差的地方在于:翻译出来的句子还保留着英语的语序。RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。接下来通过一系列的文章讲解如何使用RecyclerView,彻
2016-04-05 18:31:27
746
转载 Android AutoLayout全新的适配方式 堪称适配终结者
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941; 本文出自:【张鸿洋的博客】一、概述相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的。个人也比较关注适配的问题,之前也发了几篇关于适配的
2016-03-21 14:31:47
340
转载 工厂模式
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式的形态工厂模式主要用一下几种形态:1:简单工厂(Simple Factory)。2:工厂方法(Factory Method)。3:抽象工厂(Abstract Factory)。简单工厂(Simple Factory)又叫静态工厂,是工厂模式三中状态中结构最为简单的。主要有一个静态
2016-03-07 14:01:34
352
转载 Android中ExpandableListView的使用 (二)
Android中ExpandableListView的使用 ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下:首先:在layout的xml文件中定义一个ExpandableListViewview plain copy to clipboard print ? LinearLayout
2016-02-17 17:29:44
414
转载 Android中ExpandableListView的使用 (一)
Android中ExpandableListView的使用 ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下:首先:在layout的xml文件中定义一个ExpandableListViewview plain copy to clipboard print ? LinearLayout
2016-02-17 17:27:15
359
转载 Android开发CompoundButton抽象类控件类的使用UI之Radio、Check、Toggle
本篇文章就讲解了一下CompoundButton抽象类下的三个实现控件类的使用,在Android4.0之后,又新加入了一个控Switch,对它的 使用与之上介绍的三个控件类似,这里就不再详细讲解了。前言这篇文章讲解一下Android平台下,RadioButton、CheckBox以及ToggleButton三个控件的用法,因为这三个控件之 中都存在一个选中或是没选中的状态,所以
2016-02-17 10:24:24
2793
原创 FragmentManage详解
囧囧囧。。。。刚过年回来,感觉没太多的事情,然后呢就把最新的需求看看,顺便想想怎么实现,也顺便将以前的老代码看看,然后很纠结的。。。囧囧囧。。。。事出之因:Activity中: ActivityPopupDialog.newInstance(activitiesList).showAllowingStateLoss(getFragmentManager(), "ActivityP
2016-02-16 18:31:46
713
转载 Android编程之DialogFragment源码详解(二)
接上篇,继续:然后就是setShowsDialog(boolean showsDialog)方法。官方文档是这样解释的:控制DialogFragment是否是一个dislog,如果设置为false,则没有dialog被创建出来,你可以把它当做一个普通的Fragemnt使用。开头提到了,mShowsDialog默认为true,所以如果你把DialogFragment确实作为一
2016-02-16 17:48:29
347
转载 Android编程之DialogFragment源码详解(一)
DialogFragment是Fragment家族成员之一,如果你把它简单的理解成Dialog,那就错了。它的确可以做作dialog显示,还可以显示出自己定义的Dialog或者AlertDialog,但它同时也是一个Fragment。按照官方的话来理解就是,你既可以把它当成一个dialog显示出来,也可以让它作为一个Fragment嵌套在Activity中,这样更方便开发。为什么这么说呢?
2016-02-16 17:46:26
389
转载 Android---Fragment
public final boolean isAdded()如果该Fragment对象被添加到了它的Activity中,那么它返回true,否则返回false。public final boolean isDetached()如果该Fragment已经明确的从UI中分离,那么它返回true。也就是说,在该Fragment对象上使用FragmentTransaction.detach(F
2016-01-27 11:04:45
257
转载 llegalStateException: Fragment XXXFragment not attached to Activity异常处理
下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题,今天时间比较多,就在网上搜了一些解决方式:1、关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的
2016-01-27 10:57:43
1783
转载 MVC和MVP到底有什么区别呢?
MVC和MVP到底有什么区别呢? 从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,及View。 所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻
2016-01-26 14:33:51
2018
转载 泛型
1. 概述在引入范型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型就可以在细分成更多的类型。例如原先的类型List,现在在细分成List, List等更多的类型。注意,现在List, List是两种不同的类型,他们之间没有继承关系,即使String继承了Object。下面的代码是非法的 List ls = new Arra
2016-01-26 09:58:31
350
转载 使用EventBus进行Fragment和Activity通信
使用EventBus进行Fragment和Activity通信本文介绍EventBus的基本使用,以及用于Fragment和Activity之间通信。 github地址: https://github.com/greenrobot/EventBus 版本是 EventBus-2.4.0 release EventBus是基于订阅和发布的一种通信机制,使用流程如下:实例化Ev
2016-01-21 10:26:35
5941
转载 Android控件之Chronometer
Chronometr是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值得形式"分:秒" 或"MM:SS", 或者可以使用set(字符串)的定时器值到一个任意字符串重要属性[html] view plaincopy
2016-01-18 17:13:27
415
转载 Android Fragment详解(五):Fragment与Activity之间的通讯
与activity通讯尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。Fragment可以调用getActivity()方法很容易的得到它所在的activity的对象,然后就可以查找activity中的控件们(findViewById())。例如:ViewlistVi
2016-01-08 16:13:54
505
转载 Android Fragment详解(四):管理Fragment
要管理fragment们,需使用FragmentManager,要获取它,需在activity中调用方法getFragmentManager()。你可以用FragmentManager来做以上事情:1使用方法findFragmentById()或findFragmentByTag(),获取activity中已存在的fragment们。2使用方法popBackSt
2016-01-08 15:58:53
441
转载 Android Fragment详解(三):实现Fragment 界面
为fragment添加用户界面: Fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中。 一个 要为fragment提供layout,你必须实现onCreateView()回调方法,然后在这个方法中返回一个View对象,这个对象是fragment的layout的根。 注:如果你的fragm
2016-01-08 15:44:39
2191
转载 Android Fragment详解(二):fragment创建及其生命周期
Fragments的生命周期 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件。 对应生命周期可参考下图:创建片元(Creating a Fragment)To create a fragment, you must create a subclass of Fragment (or an existi
2016-01-08 15:13:36
329
转载 Android Fragment详解(一):概括
Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。Fragment不能独立存在,它必须嵌入到activ
2016-01-08 15:01:34
283
原创 ColorPhrase实现处理带颜色的字符串
ColorPhrase使用方法:mTextSearch = (TextView) findViewById(R.id.txt_search);text = ColorPhrase.from("查看{已使用/过期优惠券}或者{优惠券}") .withSeparator("{}") .innerColor(0xFFE6454A) .outerColor(0xFF666
2015-12-10 15:50:37
842
2
转载 spannableStringBuilder 用法详解
spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:."); //用颜色标记文本 ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,
2015-12-09 19:03:33
678
转载 SpannableString与SpannableStringBuilder
前言:确实有太多东西需要去整理,去学习。慢慢来吧,任何东东的深入学习都是不简单的。今天稍微整理下SpannableString与SpannableStringBuilder,因为在上篇中,我们曾讲到过有关CharSequence的东东,有关CharSequence的话,这两个类是必谈的,所以这里加以整理。今天请给大家一句应该都知道的一句名言:书山有路勤为径,学海无涯苦作舟。——《增
2015-12-09 18:58:05
299
原创 Spanny字符串样式处理使用心得。
先感慨一句,Spanny是个强大的东东~先上效果图,再来分析如何实现的。 可以看到这两个图,不同的地方,字体的大小不一样,但是的确是用一个字符串,重点一个字符串。。。来看一下我的代码如何实现的吧XML布局中 <TextView android:id="@+id/txt_money"
2015-12-09 18:41:10
1873
转载 EditText属性大全
android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"
2015-12-08 15:44:51
317
转载 TextView属性大全
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。android:bufferType指定getText()方式取得的文本类别。选项edi
2015-12-08 15:42:27
322
原创 String , StringBuffer 和 StringBuilder 三者的区别?
一直在做安卓,怎么突然会想到String , StringBuffer 和 StringBuilder 三者的区别呢?其实这还是与我的安卓开发分不开的,这次是有一个需求需要对文字进行一下处理,然后用到了Spanny,然后我就看spanny的源码,想看看它是怎么实现的,以下便是spanny的部分,我们可以很直观的看到它本质上是一个StringBuilder,然后这个时候我就想到之前在华信的时候然
2015-12-08 15:31:01
373
原创 Picasso图片下载缓存库的使用心得
Picasso的使用呢是刚来公司没多久的时候用到的,当时并没有多大的自觉性将其记录下来,促使我要将这个记录下来的原因是,公司的女神姐姐想要用到图片下载缓存库的时候,问我的时候,我发现我记得并不是特别清楚,还翻了之前的代码看的~~~才清楚当初我为何要用这个东西,以及这个东西的使用方法,及其优势点。接下来我会一一讲述清楚。Picasso的简介: picasso是Square公司开源的一个An
2015-12-07 15:15:33
4390
原创 PagerSlidingTabStrip视图切换使用心得
很多时候,我们要实现一个功能,然后会发现,很多大牛启示意境将这个功能的框架搭好,我们直接用,或者在他们的框架上改改东西就好,这次需要做一个视图切换的功能,然后在github上面搜到了一个大牛写好的框架。 这次我觉得我最大的收获是: 1.学会了读源码,改源码 2.在Mac上引入aar包,也就是俗称的jar包,只不过是在Mac上引入的叫做aar包而
2015-12-01 18:51:43
1032
转载 Android XListView实现原理讲解及分析
转载自:http://blog.csdn.net/zhaokaiqiang1992/article/details/42392731XListview是一个非常受欢迎的下拉刷新控件,但是已经停止维护了。之前写过一篇XListview的使用介绍,用起来非常简单,这两天放假无聊,研究了下XListview的实现原理,学到了很多,今天分享给大家。 提前声明,为了让代码更好的理解,我
2015-11-06 15:38:49
505
原创 设计模式一:观察者模式的自我实现
引言:首先对于观察者模式,在前面一篇转载的文章里面对其进行了很深刻的讲解,我自认为没人家理解的好,写的好,所以直接就转载咯,写这篇博客仅仅只是见证我的成长,还是这个项目,还是这个版本,前天都上线了,然后发现我做的某块功能还可以进行优化,然后趁着在这次需求评审完,排期还没定的情况下,屁颠屁颠的对我之前做的地方进行优化。使用的是观察者模式。什么原理的就不写了,前面都有。BaseHe
2015-11-06 11:39:56
409
转载 设计模式一:观察者模式
本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。《设计模式》一书对Ob
2015-11-05 15:30:46
286
转载 EventBus使用详解(二)—— EventBus使用进阶
一、概述前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是:1、onEvent2、onEventMainThread3、onEventBackgroundThread4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介
2015-11-02 15:17:01
406
转载 EventBus使用详解(一)—— 初步使用EventBus
一、概述EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。1、下载EventBus的类库源码:https://github.com/greenrobot/EventBus2、基本使用
2015-11-02 15:14:07
369
原创 为啥用到了EventBus?
到今天,速运3.5告一段落了,反正我这边是没啥Bug了,该好好的来个总结,这一次是在做项目的时候遇到这么一个需求,A1、A2、A3。。。--->B--->C,同时B--->C , C--->B。其中 B要将数据带回去C中,如果仅仅只是C--->B 然后B--->C ,那么直接用startActivityForResult()即可。但是涉及到其他的页面用StartActivityForResul
2015-11-02 14:27:24
535
2
转载 使用WebView, WebChromeClient和WebViewClient加载网页
在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持,下面是一个例子程序,先帖: [html] view plaincopyxml version="1.0" encoding="utf-8"?> WebView xmlns:android="http://schem
2015-10-30 17:08:33
460
转载 Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向,如果你还不清楚,请查看:Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器,本章会教大家如何添加覆盖物,实现周边搜索,以及对覆盖物的点击出现介绍等效果。效果
2015-09-25 15:29:28
463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人