原创 讓預覽 RecyclerView 效果更方便的一個小技巧
讓預覽 RecyclerView 效果更方便的一個小技巧 簡評:使用 “@tools:sample/*” 資源來讓 RecyclerView(或 ListView)的效果預覽更方便。 相信在大多數的 Android 開發中都會和 Rec
原创 從google todo-mvp示例再次學習MVP
## 一、MVP簡介 ![](https://user-gold-cdn.xitu.io/2018/2/28/161db3be446574b5?imageView2/0/w/1280/h/960/form
原创 Android插件化完美實現代碼資源加載及原理講解 附可運行demo
Android插件化完美實現代碼資源加載及原理講解 附可運行demo 原創 2017年03月01日 18:02:15 <ul clas
原创 Android 快速實現自定義控件
自定義控件之繪圖篇(一):概述及基本幾何圖形繪製 原創 2014年08月27日 19:39:20 <ul class="article
原创 Android Virtualview:淘寶、天貓 又一個動態化、高性能的UI框架力作
Android Virtualview:淘寶、天貓 又一個動態化、高性能的UI框架力作 前言 淘寶、天貓一直致力於解決 頁面動態化的問題 在2017年的4月發佈了v1.0解決方案:Tangram模型 及其對應的 Android庫 vl
原创 2018 年初值得關注的 15 個新 Android 庫和項目
2018 年初值得關注的 15 個新 Android 庫和項目 這是我最新收集的 25 個 Android 庫和項目列表,你也許會發現它們有用,有趣,並值得查看一下。所有的都在最近 3 個月發佈的,排序不分先後。 開始查閱吧! 1. tr
原创 Android 快速實現7.0的Shortcuts效果
Android 7.1 App Shortcuts使用 Android 7.1已經發了預覽版, 這裏是API Overview: API overview. 其中App Shortcuts是新提供的一種快捷訪問方式, 形式爲長按應用圖標出
原创 徹底理解 Android 中的陰影
徹底理解 Android 中的陰影 如果我們想創造更好的 Android App,我相信我們需要遵循 Material Design 的設計規範。一般而言,Material Design 是一個包含光線,材質和投影的三維環境。如果我們想要
原创 內網穿透工具——ZeroTier One的使用
# 內網穿透工具——ZeroTier One的使用 雷哥哥是個愛折騰的人,爲了省幾個錢吧捨不得租個服務器,然後小煙還抽着。 咱們廢話也不多說了,直接上吧。 ### 一、爲啥用ZeroTi
原创 Android 快速解決Listview與ScrollView嵌套的問題,與分析解決問題原理
1、手動設置ListView高度 經過測試發現,在xml中直接指定ListView的高度,是可以解決這個問題的,但是ListView中的數據是可變的,實際高度還需要實際測量。於是手動代碼設置ListView高度的方法就誕生了。 /**
原创 Android 快速使用View的setSelected用法
一、概述 作用: setSelected() 方法是 Android 系統層級 View 類的方法,可以說所有的顯示控件,都有這個方法! 它的作用,是用來切換背景顯示的 運用: 日常開發中,經常會遇到一個控件 點擊 和 未點擊 是
原创 Android 快速給ListView去掉上下半月形效果
android:fadingEdge="none" android:overScrollMode="never" 添加這2行即可搞定
原创 Android 趣味發現-HorizontalScrollView的祕密
一、setMinimumWidth() 給 HorizontalScrollView 設置了 setMinimumWidth()之後,它的子view的weight屬性就會生效! 否則將無效! MainActivity.java mHs
原创 Android 快速掌握Fragment生命週期與使用技巧
一、概述 非常簡單的一副圖,記住就可以了,與Activity差不多 Activity生命週期==>點擊這裏 二、場景切換過程 下面簡單介紹下Fragment在不同場景的情況下,生命週期是如何進行切換的 1、打開/切換到該Fragment
原创 Android 快速用RxJava2做倒計時
繞過概述原理,直接上代碼: public class RxCountDown { public static Observable<Integer> countdown(int time) { if (time