原创 Android Design新控件之TextInputLayout(文本輸入佈局)

谷歌在推出Android5.0的同時推出了全新的設計Material Design,谷歌爲了給我們提供更加規範的MD設計風格的控件,在2015年IO大會上推出了8 個新的組件,同時向後兼容,新推出的這幾個官方組件多是在 GitHu

原创 使用FileInputStream和FileOutputStream實現本地文件讀寫操作

FileInputStream和FileOutputStream 是一對繼承與InputStream和OutputStream的類,分別用來創建磁盤文件的輸入流和輸出流對象,開發中我們會經常需要使用FileInputStream和

原创 Android 探索Bottom sheets的使用

在Android Support Library 23.2版本推出之後,我們可以看到一些新的特性,例如AppCompat DayNight主題,BottomSheet等,其中BottomSheet控件用於從屏幕底部向上滑動,以顯示

原创 Android 軟鍵盤彈出時,EditText固定在鍵盤上方

OnGlobalLayoutListener 是ViewTreeObserver的內部類,當一個視圖樹的佈局發生改變時,可以被ViewTreeObserver監聽到,這是一個註冊監聽視圖樹的觀察者(observer),在視圖樹的全

原创 Android Animation之TranslateAnimation(平移動畫)

Android的View Animation(視圖動畫)中的Tween Animation效果,Tween Animation分爲4種動畫效果,分別是:alpha (透明變化) translate(位置移動) scale(縮放)

原创 Android 拖動條SeekBar的簡單使用

在Android開發中,拖動條常常用於對系統某種數值的設置,例如播放視頻和音量等都會用到拖動條SeekBar。SeekBar和進度條十分相似,只是拖動條可以通過滑動塊的位置來標誌數值,並且允許用戶拖動滑動塊來改變值。 1、See

原创 Android Design新控件之TabLaout(一),快速打造一個滑動標籤頁

在Android開發中很常見的佈局設計大概是使用滾動的標籤指示器和滑動的內容頁面了,我們的做法通常就是在ViewPager的上方放一個標籤指示器與ViewPager進行聯動。以前,我們大多使用的是GitHub上的開源框架Pager

原创 Android 仿Keep,探索向上滑動時PopupWindow向右退出消失,向下移動時PopupWindow向左推出出現

這篇文章主要是仿Keep,通過監聽ScrollView滾動事件和滾動狀態(開始、停止)來實現向上滑動時PopupWindow向右退出消失,向下移動時PopupWindow向左推出出現的功能,感覺很有趣,於是想着自己動手也實現這樣一

原创 Android Design新控件之TabLaout(二),仿微信實現App底部Tab佈局

TabLayout的兩種常見設計佈局: 頂部標籤頁(如今日頭條,知乎) 底部菜單欄(如微信主界面) 其中上一篇文章中講到了Android Design新控件之TabLaout(一),快速打造一個滑動標籤頁,接着接着舉例使用Ta

原创 Android 自定義View之邊緣凹凸的優惠券效果

本篇文章講的是自定義View之邊緣凹凸的優惠券效果,之前有見過很多優惠券的效果都是使用了邊緣凹凸的樣式。和往常一樣,主要總結一下在自定義View的開發過程中需要注意的一些地方。 按照慣例,我們先來看看效果圖 一、寫代碼之前,我

原创 Android 仿美團網,探索使用ViewPager+GridView實現左右滑動查看更多分類的功能

不記得什麼時候,我留意到到美團網首頁有使用ViewPager+GridView實現左右滑動查看更多分類的一個功能,感覺它很有趣,於是想着自己動手也實現這樣一個功能,和往常一樣,主要是想總結一下我在學習過程中的一些筆記以及需要注意的

原创 Android 實現酷炫的頂部欄

AppBarLayout 是繼承LinerLayout實現的一個ViewGroup容器組件,它是爲了Material Design設計的App Bar,支持手勢滑動操作的,不過經常與Toolbar、CoordinatorLayou

原创 Android Studio不自動代碼提示問題解決

在編寫代碼時,代碼不自動提示,而代碼自動提示的設置正常,經過一番研究後發現問題原因在於節能模式的開啓,具體解決方式如下: 關閉節能模式 如上圖所示,將Power Save Mode前面的對勾去掉,則完成節能模式的關閉,代碼提示

原创 Android 使用MediaPlayer播放本地視頻

MediaPlayer可以播放視頻和音頻,並且它支持本地和網絡文件的播放。本篇文章是使用MediaPlayer播放本地視頻,如果覺得使用MediaPlayer比較麻煩,也可以選擇VideoView播放視頻。 MainActivit

原创 Android Activity內嵌Fragment,當Activity recreate時Fragment被添加多次,造成界面重疊

由於某些原因,例如旋轉屏幕,內存不足時,造成Activity被destroy() ,或者切換語言環境時,我們recreate()該Activity。這時,如果在該Activity的onCreate中未區分是create 還是rec