<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CodingEnding的博客]]></title><description><![CDATA[保持空杯心态。]]></description><link>https://blog.csdn.net/CodingEnding</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; CodingEnding]]></copyright><item><title><![CDATA[Android View原理解析之绘制流程（draw）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82818504</link><guid>https://blog.csdn.net/CodingEnding/article/details/82818504</guid><author>CodingEnding</author><pubDate>Sun, 23 Sep 2018 20:53:37 +0800</pubDate><description><![CDATA[自定义View是Android进阶路线上必须攻克的难题，而在这之前就应该先对View的工作原理有一个系统的理解。本系列将分为4篇博客进行讲解，本文主要对View的绘制流程(draw)进行讲解。]]></description><category></category></item><item><title><![CDATA[Android View原理解析之布局流程（layout）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82818499</link><guid>https://blog.csdn.net/CodingEnding/article/details/82818499</guid><author>CodingEnding</author><pubDate>Sun, 23 Sep 2018 20:52:52 +0800</pubDate><description><![CDATA[自定义View是Android进阶路线上必须攻克的难题，而在这之前就应该先对View的工作原理有一个系统的理解。本系列将分为4篇博客进行讲解，本文主要对View的布局流程(layout)进行讲解。]]></description><category></category></item><item><title><![CDATA[Android View原理解析之测量流程（measure）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82818488</link><guid>https://blog.csdn.net/CodingEnding/article/details/82818488</guid><author>CodingEnding</author><pubDate>Sun, 23 Sep 2018 20:51:58 +0800</pubDate><description><![CDATA[自定义View是Android进阶路线上必须攻克的难题，而在这之前就应该先对View的工作原理有一个系统的理解。本系列将分为4篇博客进行讲解，本文主要对View的测量流程(measure)进行讲解。]]></description><category></category></item><item><title><![CDATA[Android View原理解析之基础知识（MeasureSpec、DecorView、ViewRootImpl）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82781889</link><guid>https://blog.csdn.net/CodingEnding/article/details/82781889</guid><author>CodingEnding</author><pubDate>Sun, 23 Sep 2018 20:51:08 +0800</pubDate><description><![CDATA[自定义View是Android进阶路线上必须攻克的难题，而在这之前就应该先对View的工作原理有一个系统的理解。本系列将分为4篇博客进行讲解，本文将主要对MeasureSpec、DecorView、ViewRootImpl等基础知识进行讲解。]]></description><category></category></item><item><title><![CDATA[Android LayoutParams详解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82717715</link><guid>https://blog.csdn.net/CodingEnding/article/details/82717715</guid><author>CodingEnding</author><pubDate>Sat, 15 Sep 2018 22:00:32 +0800</pubDate><description><![CDATA[在平时的开发过程中，我们一般是通过XML文件去定义布局，所以对于LayoutParams的使用可能相对较少。但是在需要动态改变View的布局参数（比如宽度、位置）时，就必须要借助这个重要的类了。本文将结合具体场景详细讲解LayoutParams的相关知识。]]></description><category></category></item><item><title><![CDATA[Android RecyclerView瀑布流中Item宽度异常的问题（源码分析）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/82715487</link><guid>https://blog.csdn.net/CodingEnding/article/details/82715487</guid><author>CodingEnding</author><pubDate>Sat, 15 Sep 2018 16:59:23 +0800</pubDate><description><![CDATA[通过RecyclerView配合StaggeredGridLayoutManager可以很方便的实现瀑布流效果，一般情况下会把作为Item的子View宽度设置为MATCH_PARENT，那么子View将根据列数（假定是垂直排列）平均分配RecyclerView的宽度。但是如果我们为子View的width设置一个确切的值（记为x），并且为RecyclerView添加ItemDecoration（为了设置Item的间距），最终Item的宽度将会被预期的要窄（小于x），本文将从源码的角度分析这种结果的产生的原因。]]></description><category></category></item><item><title><![CDATA[Android自定义View之FairySearchView（灵活的通用搜索控件）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/81490559</link><guid>https://blog.csdn.net/CodingEnding/article/details/81490559</guid><author>CodingEnding</author><pubDate>Tue, 07 Aug 2018 23:33:17 +0800</pubDate><description><![CDATA[FairySearchView是经过封装的通用搜索控件，可以根据需求切换不同的布局模式。内置多种事件监听器，可以满足不同场景的业务需求，使用方式非常灵活。本文主要讲解该库的基本用法和实现思路。]]></description><category></category></item><item><title><![CDATA[Android自定义View之PopupLayout（通用弹出式布局）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/81489947</link><guid>https://blog.csdn.net/CodingEnding/article/details/81489947</guid><author>CodingEnding</author><pubDate>Tue, 07 Aug 2018 23:16:09 +0800</pubDate><description><![CDATA[PopupLayout是通用弹出布局辅助库，允许开发者从顶部、底部、左侧、右侧和中心这五个位置弹出自己指定的View，此外还提供圆角和动画特性。本文将介绍该库的基本用法和主要开发思路。]]></description><category></category></item><item><title><![CDATA[主项目和Module包名相同造成的编译错误（DexException: Multiple dex files define）]]></title><link>https://blog.csdn.net/CodingEnding/article/details/81211424</link><guid>https://blog.csdn.net/CodingEnding/article/details/81211424</guid><author>CodingEnding</author><pubDate>Wed, 25 Jul 2018 22:26:39 +0800</pubDate><description><![CDATA[1.场景描述

在项目中新建了Module并引用，结果在编译时出现了错误，错误信息如下：



Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/codingending/popupcontainer/BuildConfig;

2....]]></description><category></category></item><item><title><![CDATA[Android UI RecyclerView讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79816325</link><guid>https://blog.csdn.net/CodingEnding/article/details/79816325</guid><author>CodingEnding</author><pubDate>Wed, 04 Apr 2018 13:53:14 +0800</pubDate><description><![CDATA[RecyclerView是Android 5.0之后推出的列表类控件，具有高度的解耦性和灵活性。通过使用合适的LayoutManager，可以实现ListView、横向ListView、GridView和瀑布流列表的效果。本文将对RecyclerView的相关知识点进行详细讲解。



基本用法



使用步骤

RecyclerView是支持库中的控件，因此在使用前需要先在build.g...]]></description><category></category></item><item><title><![CDATA[Android UI GridView讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79518615</link><guid>https://blog.csdn.net/CodingEnding/article/details/79518615</guid><author>CodingEnding</author><pubDate>Sun, 11 Mar 2018 18:23:28 +0800</pubDate><description><![CDATA[前言

GridView常用于以网格形式展示数据，九宫格布局就是一种典型的应用。本文将详细讲解GridView的使用方法和常用技巧。



基本使用

GridView的使用和ListView相似，重点在于数据由Adapter（适配器）提供，GridView并不直接访问数据源。因此，可以将GridView的使用分为3步：


获得数据源（如数组，List等）
通过数据源建立适配器（如ArrayAd...]]></description><category></category></item><item><title><![CDATA[Android UI ListView讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79512087</link><guid>https://blog.csdn.net/CodingEnding/article/details/79512087</guid><author>CodingEnding</author><pubDate>Sat, 10 Mar 2018 21:55:30 +0800</pubDate><description><![CDATA[前言

在Android系统中，针对大量数据的展示，可以使用ListView以列表的形式的呈现。虽然现在ListView在很多地方都被RecyclerView取代了，但是在一些合适的场景中依旧有用武之地。本文将详细讲解ListView的使用和常用技巧。



基本使用

ListView的使用还是很简单的，重点在于数据由Adapter（适配器）提供的，ListView并不直接访问数据源。因此，可以...]]></description><category></category></item><item><title><![CDATA[Android UI 常用控件讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79478626</link><guid>https://blog.csdn.net/CodingEnding/article/details/79478626</guid><author>CodingEnding</author><pubDate>Wed, 07 Mar 2018 23:49:44 +0800</pubDate><description><![CDATA[Android系统提供了种类繁多的控件，很多的用法都很简单。但是由于控件的多样性，偶尔也容易忘记控件的一些细节问题。因此，本文将总结、讲解一些常用控件的用法和技巧。本文的内容包括：CheckBox、RadioButton、ToggleButton、Switch、ProgressBar、SeekBar、RatingBar、Spinner、ImageButton。



CheckBox


...]]></description><category></category></item><item><title><![CDATA[Android UI 与文本相关的控件]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79478477</link><guid>https://blog.csdn.net/CodingEnding/article/details/79478477</guid><author>CodingEnding</author><pubDate>Wed, 07 Mar 2018 23:22:52 +0800</pubDate><description><![CDATA[谈到Android中与文本相关的控件，容易想到的自然是TextView和EditText。这两类控件的使用率很高，基本使用方法也很简单。但是如果追寻细节，会发现它们还隐藏着很多的黑科技知识。本文的内容包括：TextView、EditText、AutoCompleteTextView、MultiAutoCompleteTextView。



TextView



相关属性

TextVi...]]></description><category></category></item><item><title><![CDATA[Android文件系统详解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/79183750</link><guid>https://blog.csdn.net/CodingEnding/article/details/79183750</guid><author>CodingEnding</author><pubDate>Sat, 27 Jan 2018 22:17:46 +0800</pubDate><description><![CDATA[前言

文件系统一直是Android开发过程中经常接触的东西。而关于内部存储、外部存储、外置存储、私有存储、公共存储，以及访问哪些文件需要申请运行时权限等问题，一直是许多开发者头疼的问题。本文就将详细地讲解这些重要而模糊的知识点。



内部存储

内部存储主要用于保存应用的私有文件，其他应用无法访问这些数据。当应用卸载的时候，这些数据也会被删除。使用内部存储不需要任何额外权限。



写入数据]]></description><category></category></item><item><title><![CDATA[Android WebView 常用API参考手册]]></title><link>https://blog.csdn.net/CodingEnding/article/details/78898210</link><guid>https://blog.csdn.net/CodingEnding/article/details/78898210</guid><author>CodingEnding</author><pubDate>Tue, 26 Dec 2017 01:06:51 +0800</pubDate><description><![CDATA[WebView、WebViewClient和WebChromeClient拥有着数量庞大的API，对于开发者而言时常需要查阅相关的资料，然而官方文档对很多方法都是一笔带过。本文就将详细讲解这些API方法，并针对存在困惑与误区的方法做出了具体的解释。]]></description><category></category></item><item><title><![CDATA[Android WebView全面讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/78848308</link><guid>https://blog.csdn.net/CodingEnding/article/details/78848308</guid><author>CodingEnding</author><pubDate>Tue, 19 Dec 2017 22:48:13 +0800</pubDate><description><![CDATA[WebView是Android中的原生UI控件，主要用于在app应用中方便地访问远程网页或本地html资源。同时，WebView也在Android中充当Java代码和JS代码之间交互的桥梁。实际上，也可以将WebView看做一个功能最小化的浏览器。本文将全面讲解WebView各方面的知识点。



2.基本使用



创建一个WebView组件

通常情况下，我们会在XML文件中定义需...]]></description><category></category></item><item><title><![CDATA[Android系统版本与API级别对照表]]></title><link>https://blog.csdn.net/CodingEnding/article/details/78834506</link><guid>https://blog.csdn.net/CodingEnding/article/details/78834506</guid><author>CodingEnding</author><pubDate>Mon, 18 Dec 2017 16:36:20 +0800</pubDate><description><![CDATA[对照表




  系统版本
  API 级别
  VERSION_CODE



  Android 2.3 Android 2.3.1  Android 2.3.2
  9
  GINGERBREAD


  Android 2.3.3 Android 2.3.4
  10
  GINGERBREAD_MR1


  Android 3.0.x
  11
  HONEYCOMB


  And...]]></description><category></category></item><item><title><![CDATA[Android Menu用法全面讲解]]></title><link>https://blog.csdn.net/CodingEnding/article/details/78609902</link><guid>https://blog.csdn.net/CodingEnding/article/details/78609902</guid><author>CodingEnding</author><pubDate>Thu, 23 Nov 2017 01:35:26 +0800</pubDate><description><![CDATA[菜单（Menu）是Android应用中非常重要且常见的组成部分，主要可以分为三类：选项菜单、上下文菜单/上下文操作模式以及弹出菜单。本文只介绍Android3.0及以上的Menu知识点。]]></description><category></category></item><item><title><![CDATA[读取手机联系人]]></title><link>https://blog.csdn.net/CodingEnding/article/details/72904748</link><guid>https://blog.csdn.net/CodingEnding/article/details/72904748</guid><author>CodingEnding</author><pubDate>Wed, 07 Jun 2017 22:39:57 +0800</pubDate><description><![CDATA[读取手机联系人是Android应用中很常见的操作，也是很多应用的功能基础，本文就简单讲解一下如何使用ContentResolver对手机联系人进行读取。]]></description><category></category></item></channel></rss>