原创 Android 自定義Html標籤

#前言 我們在Android的日常開發中經常會用到TextView,而在TextView的使用中有可能需要像下面這樣使用。 上面只用了一個TextView就可以實現,有人可能會想到使用Html.fromHtml("...")實現

原创 Android App Banner,用它就夠了。無限輪播、簡單易用、擴展性強的BannerView

按照慣例先上效果圖: 還有各種效果 體驗Demo 點擊下載或掃碼下載DemoApk 寫在前面 GitHub上有更加詳細的使用介紹的,如果你想直接看GitHub上的也可以直接點擊後面的傳送門去往GitHub。我是傳送門 本

原创 EnvironmentPlugin 一款用來配置可動態切換App環境的Gradle插件

簡介 在gradle中配置開發時的所有環境,你只需要很少的代碼就能實現環境動態切換的功能。而在打生產包時你只需要在gradle中修改release的值爲true就能將非生產環境剔除(不會將非生產環境打包到Apk中),從而保證非生產

原创 Gradle配置之自定義APK名稱及輸出路徑。

需求是這樣的,我們的項目在上線的時候需要根據公司的明明規則重新對apk文件命名後才能發佈到市場上。於是生成的每個apk文件都需要重新命名,如果渠道較少還好說,但是如果多的話就麻煩了。 其實方法很簡單,只需要在你的app的Build.gr

原创 Android7.0 自定義控件addView(...)無效,View的繪製流程(onMeasure、onLayout等)完全沒執行的解決辦法。

問題描述 昨天在寫一個自定義控件的時候遇到一個問題,就是我通過addView(View child) 方法添加View之後再7.0上沒有顯示出來,6.0上沒有問題。通過AS自帶的Layout Inspector工具檢查發現我的自定義控件的

原创 Android中JNI編程詳解

Android系統不允許一個純粹使用C/C++的程序出現,它要求必須是通過Java代碼嵌入Native C/C++——即通過JNI的方式來使用本地(Native)代碼。因此JNI對Android底層開發人員非常重要。 如何將.so文件打包

原创 如何讓EditText具有自動大小寫轉換的功能。

相信很多朋友都有過讓EditText具備自動大小寫轉換的功能的需求,其實做法很簡單。下面就來看一下怎麼做吧。 首先定義一個類繼承ReplacementTransformationMethod類並重寫兩個方法。這個類位於android.te

原创 如何讓Fragment響應onBackPressed事件

最近在開發中遇到一個問題,就是如何讓Fragment響應Back鍵按下事件。下面就來看一下我是如何做的吧。 首先定義一個Activity讓所有Activity都繼承這個Activity,我暫且給他命名爲BasicActivity。 pub

原创 一款支持無限輪播、簡單易用、擴展性強且超級穩定的輪播圖庫-Banner(BannerView)

按照慣例先上效果圖: 寫在前面 GitHub上也是有比較詳細的使用介紹的,如果你想直接看GitHub上的也可以直接點擊後面的傳送門去往GitHub。我是傳送門 本文的內容可能有點長,如果你想要直接但Demo的源碼的,可以直接跳

原创 利用buildConfigField從另一種角度解決BuildConfig.DEBUG的坑。

相信許多同學都有過使用BuildConfig.DEBUG來去區分當前是否是Debug版本的經歷。而用過的同學都知道,如果你的項目中只有一個model的話基本沒有什麼問題,而如果你的項目中不止一個model那麼BuildConfig.DEB

原创 Android簡單實現列表菜單--PopupMenu的簡單使用。

最近發現PopupMenu用來做菜單非常的方便,而且使用也非常的簡單,下面我們就來看下如何使用的吧。 首先在佈局文件中創建兩個Button。 <?xml version="1.0" encoding="utf-8"?> <Relative

原创 ViewPager中複用View導致在某些自定義動畫下會有問題的bug。

前言 最近在封裝輪播圖的時候,爲了提高性能我使用了緩存,將每個被釋放的view進行緩存然後在下次要用到是直接使用緩存的Veiw。這樣做的好處就是不會一直inflate佈局,也不會有一直設置圖片標題等賦值操作。先來看下我PagerAdapt

原创 一個可以過濾其他開發者日誌的LogUtil工具類,團隊開發中的你值得擁有!

只要你是程序員就一定熟悉這麼一個東西,那就是Log。Log是我們日常開發中必不可少的調試工具,如果你是團隊開發中的一員,那麼就一定有過這樣的煩惱,那就是在調試過程中想要看你自己的日誌的時候卻發現其他小夥伴的日誌確異常的多,很快就把你的日誌

原创 TabLayout踩坑之IllegalArgumentException: Tab belongs to a different TabLayout.

最近在開發中使用TabLayout的時候遇到了這個bug。bug就長下面這樣(內容有點囉嗦,解決辦法在最下面): 05-24 21:54:36.989 17175-17175/com.testW/System.err: java.lang

原创 關於小米手機開發中,不能打印、查看logcat日誌的解決方法。

最近在開發過程中使用小米手機作爲測試機的時候發現沒有logcat日誌輸出。在網上找來找去終於找到了一篇解決的有效博客,這裏特別記錄一下,也希望能幫到別人。 解決辦法如下: 在電腦上找到 .Android文件夾,win下在C:\Users\