原创 可拖動的圓形進度條

效果圖如下: 1,通過繼承View,重寫onDraw(Canvas canvas)方法,實現界面進度顯示 2,重寫onTouchEvent(MotionEvent event)方法,監聽拖動事件 3,在監聽位置改變時,計算角度,重新調

原创 Java星期的複選運算

基本實現原理: 用一個字節就可以記錄選中狀態,其中1表示選中,0表示未選中,位置代表星期的位置。 代碼實現如下: /** * Days of week code as a single int. * 0x00: no da

原创 自定義滾動按鈕(滾輪)進度調節器

在開發中遇到一個類似鼠標滾輪效果的UI,在這裏寫下我的實現思路,希望對你有所幫助。 效果圖如下: 一個滾動條,通過上下滾動來調節進度。這裏的難點是滾動時的動畫效果,下面一一說來。 實現思路 1,繪製一組動畫圖片,從第一個小橫槓開始

原创 Dlna音樂播放器

最近做DLNA音樂播放的功能,由於相關資料相對較少,官網上的英文文檔又比較難理解,導致實現這一功能花費了大量時間。今天把我的Demo分享給大家。 效果圖如下: 1,本Demo實現了DMR設備的搜索,註冊事件監聽,獲取播放信息,音量,播

原创 如何查看Android的ANR(無響應)異常

在Android開發中,當程序發生異常時會拋出異常信息,可以通過如下代碼來獲取異常信息,然而在ANR時我們在Logcat中並看不到異常信息。 Thread.setDefaultUncaughtExceptionHandler(new Th

原创 限制Edittext輸入的字節長度

在給設備重命名時,設備對名字的存儲空間一般都是多少字節,而並非多少字,並通常都是採用utf-8的編碼。 那問題來了,utf-8的編碼是1-6個字節的不等長度,如何獲取將一個超過30字節的文本轉換到30字節以內? Java中獲取utf-8

原创 Eclipse轉AndroidStudio項目(包含子工程)

一、在Eclipse中通過Export生成Gradle文件 1,在Eclipse菜單中打開 File --> Export-->Generate Gradle build files 2,選中你的項目工程,包括主工程和子工程(Libr

原创 打包依賴.aar文件以及坑總結

一、打包 aar 1、單個模塊打包 打開 Gradle 工具窗口,找到 Android Library 模塊. 在 build 任務中雙擊 assemble. 執行成功後,在 mylibrary/build/outputs/aa

原创 Maven學習筆記(入門篇)

Maven是一個採用純Java編寫的開 源項目管理工具。Maven採用了一種被稱之爲project object model (POM)概念來管理項目,所有的項目配置信息都被定義在一個叫做POM.xml的文件中,通過該文件,Maven可以

原创 自定義View總結

在開發中對自定義View的使用非常的普遍,對Android的深入理解這也是必須瞭解的知識點。以下總結了一些常用的知識點,更多內容待補充。。。 一、 View的生命週期 onFinishInflate() 當View中所有的子控件均被映

原创 Maven學習筆記(座標和依賴)

一、座標 一、依賴配置          1,依賴範圍          二、依賴傳遞性        1,何爲傳遞性依賴,打個比方,A 依賴 B, B 依賴 C, 則A 依賴 C。                  2,傳遞

原创 調用系統相機/相冊獲取圖片的完美解決方案

調用系統相機/相冊獲取圖片,並裁剪圖片,在百度上找一下能搜到一大堆文章,然而拿過來在真機上跑一下大部分都有問題,根本達不到想要的效果。 爲什麼會拿不到想要的圖片呢,最主要的原因是因爲圖片太大,而獲取的圖片數據是放在Intent中的。

原创 自定義View中文本居中顯示

在開發中遇到一個這樣的需求,在選擇星期時設計獅想要這個這樣的效果: 看到效果,想當然應該是用CheckBox實現吧,選中時背景藍色文字白色,未選中時背景透明文字黑色。 那最方便的實現方式應該是直接給切圖,然而這種用切圖,除了因爲要

原创 自定義Drawable(文字按鈕點擊效果設置)

一些在開發UI時經常需要用到的自定義Drawable的代碼,整理起來,方便今後高效的開發。 1,單選按鈕、複選框 <?xml version="1.0" encoding="utf-8"?><selector xmlns:androi

原创 自定義TextView,設置Drawable圖標居中顯示

在Android中,有時需要圖標和文字在佈局中居中顯示,比如這種場景: 搜索圖標和文字是緊挨着,點擊整個白色區域會觸發相應的事件,這種情況下如何只用一個View來達到這種效果呢。當然如果是以前就會用一個RelativeLayout來作