原创 TabLayout的指示器寬度問題

最近碰到一個需求,因爲是我比較感興趣的TabLayout的,所以記錄一下吧。 產品需求:希望上部導航欄中的指示器寬度略大於文字寬度; 技術方案:TabLayout配合ViewPager; 問題分析: 原生TabLayout

原创 重溫DialogFragment,讓自定義佈局更加簡單

最近使用自定義佈局的對話框的場景比較多,github上找的或多或少感覺缺點什麼,於是封裝了一個易用全面的對話框工具庫,專注於更簡單的自定義佈局的對話框的展示和交互。 目前該庫有以下特性: 使用簡潔; 可以給對話框設置錨點V

原创 探索Kotlin的隱性成本

轉載 自 探索Kotlin的隱性成本 2016年, Jake Wharton發表了一系列有趣的言論關於Java的隱性成本。同一時期他也開始擁護使用Kotlin開發Android,但是幾乎不提Kotlin的隱性成本除了推薦使用內聯函

原创 ThreadLocal工作機制-基於安卓sdk 25

ThreadLocal類(TL 代替)主要是爲應用提供線程作用域的局部變量,即這些變量的值的獲取只在其存放的線程裏有效。TL對象並不是這個局部變量,其更像一個引導者。 當某個線程還在運行且ThreadLocal對象還可以訪問,那麼

原创 Kotlin在安卓中的一些tips

在本次谷歌IO大會上Kotlin終於轉正成爲安卓官方語言。雖然每年都會出來一些編程語言,不過很多都小衆且容易消亡,但這次,由於Oracle和Google的在Java版權問題,以及Google的安卓生態圈保衛戰等原因,這次kotli

原创 探索Kotlin的隱性成本-2

原文轉自探索Kotlin的隱性成本-2 第二部分將繼續Kotlin編程語言,如果未讀第一部分,請先閱讀part 1. 讓我們重新審視幕後並且發現更多的實現細節關於Kotlin特性。 Local functions(局部函數) 這

原创 Kotlin特色風格實現gof設計模式

雖然設計模式偏重於思想層面,但是不同的編程語言有着其獨特的語法展現,這使得在某個特定語言內,可能會更靈活和更有張力的實現某些設計模式。同時,對於kotlin來說,由於其完全兼容Java,若是隻是談設計模式的實現的話,完全可以把ja

原创 安卓工程依賴方式:Implementation vs API dependency

升級到 Android studio 3.0版本會使多Module工程的構建速度加快很多。不幸的是,這也帶來了Gradle 插件版本API的較大變化。本文將會詳細指出這個變化帶來的好處,並且指導讀者怎麼去升級。 ps: Andr

原创 安卓中MVC模式的深度思索和實踐(三)

這是一個有關安卓MVC框架模式的短系列,目的是思索和分析安卓中MVC模式更爲真實的一面。 系列: - 安卓中MVC模式的深度思索和實踐(一) - 安卓中MVC模式的深度思索和實踐(二) 在上一篇中,主要通過一個demo項目

原创 帶你全方位使用Anko庫-下篇

本文接上篇,繼續帶大家全方位的熟悉anko庫的使用。本文主要介紹的是anko庫的另外兩個子庫,anko-coroutines和anko-sqlite庫。 anko-coroutines的使用 要想使用該庫,必須要對協程(cor

原创 Android 開發者必知必會的權限管理知識

導語 感覺分析的挺全面,故轉載,有小細節刪改,原文請點擊: 原文在這裏 本文主要講解了Android 權限管理方面幾個點: Android 權限背景知識; 權限檢查及權限兼容; 跳轉到app管理權限頁面 一、Androi

原创 安卓開發中很多人都不知道的兩個log技巧

在安卓開發中,打印日誌是個非常重要的功能,雖然相關的博客有很多了,但本文的兩個技巧還是有看頭的。 本文第一個技巧,就是不引用第三方庫的情況下,使用liveTemplate,實現快速輸入、格式化以及定位功能。大體功能有3點,先看截圖

原创 簡單速記-3句話濃縮Handler四件套

Handler四件套: Looper,MessageQueue(MQ),Handler和Message Looper:消息輪詢器,持有消息隊列,並輪詢該隊列以提供給Handler消息。 私有構造器,構造器內創建消息隊列MQ

原创 聊聊安卓開發中主題樣式的一種組織架構

在現階段的安卓開發中,有着大量高級的開發組織架構,例如MVP,MVVM或者Clean Architecture,還有些瘋狂點的例如RxJava或者Dagger,甚至還有新語言出現,比如Kotlin。 但是在大多數項目中,主題和樣

原创 pycharm安裝第三方庫(包括不可描述的情況)

最近研究了下python,idea工具怎可能少,pycharm我是必須要安裝的。要用python,第三方庫不可少,用pycharm安裝還是灰常方便的。但是網絡環境經常不可描述,經常連接不上國外資源,這裏也總結了一下解決方式。 首先打開p