編輯:關於Android編程
一、場景描述:
近期開發中遇到個問題,就是我們在做橫豎屏切換的功能時,橫豎屏布局是操作系統去感知的,作為開發員沒法確定Activity在什麼時候加載橫屏布局,在什麼時候加載豎屏布局。因此為了找到加載橫屏布局與豎屏布局的分界點,我特別監控了屏幕旋轉的角度,看在什麼樣的角度會加載橫屏布局,在什麼樣的角度加載豎屏布局。
二、屏幕旋轉度數變化示意圖
度數變化,拿著手機順時針旋轉,度數會越變越大。
三、在Activity中監聽手機的旋轉角度,上代碼。
/** * 時時監測屏幕方向是否發生改變 * @author wilson.xiong */ class MyOrientationDetector extends OrientationEventListener { public MyOrientationDetector(Context context) { super(context); } @Override public void onOrientationChanged(int orientation) { //如果屏幕旋轉被打開,則設置屏幕可旋轉 //0-57度 125-236度 306-360度 這些區間范圍內為豎屏 //58-124度 237-305度 這些區間范圍內為橫屏 if ((orientation == -1 || (orientation >= 0) && (orientation <= 57)) || ((orientation >= 125) && (orientation <= 236)) || (orientation >= 306 && orientation <= 360)) { mScreenOrientation = 1;//豎屏 } else if ((orientation >= 58 && orientation <= 124) || ((orientation >= 237 && orientation <= 305))) { mScreenOrientation = 0;//橫屏 } // mOrientation = orientation; } }
該類的使用方法:
(1)在onResume()中調用enable()方法監聽角度變化
@Override public void onResume() { super.onResume(); mDetector.enable(); if (!isFirst) { if (GTConfig.instance().hasDickLoaded) { GTSQuote.updateGTSQuoteList(); } refreshData(); } else { isFirst = false; } }
(2)在onPause()方法中調用disable()方法停止監聽
@Override public void onPause() { super.onPause(); mDetector.disable(); }
最近在看Google技術文檔的時候發現了一種新的方式來實例化Fragment,就是采用靜態工廠的方式創建Fragment。我們在使用Android studio創建一個類
ViewPager作為Android最常用的的組件之一,相信大家在項目中會頻繁的使用到的,例如利用ViewPager制作引導頁、輪播圖,甚至做整個app的表
最近實現了一個使用最新推出的CardView和RecyclerView實現列表功能的Demo,接下來一一介紹:1.首先介紹我使用了哪些工具(1)LeanCloud的存儲功
在github上有一些大神專門寫了viewpager的輪播框架並且開源,供大家學習參考,這篇博客就教大家如何簡單地使用開源框架RollViewPager。對RollVie