2015年8月25日 星期二

Android4.0 TianLaiTheme 天賴主題 (Line主題)


天賴主題




特色:
1. 支援從檔案預覽Line主題樣式(適用版本:主題5.0.0以上)。
2. 支援從SD卡操作快速更換Line主題樣式。
3. 支援FTP,可從電腦端中操作,將主題檔案傳送到手機端。
4. 支援主題編輯功能(部份格式不支援)

PS:檔案預覽僅支援主題5.0.0以上(部份主題可能會異常)

注意事項:
● 在選擇主題時,長按可以刪除與重新命名已下載或匯入的主題。
● 避免侵權的問題,請自行先從上網下載主題包(themefile)。

僅支援Android4.0以上版本。

教學影片:https://www.youtube.com/watch?v=z-cxoEv4qew

新主題教學影片:https://www.youtube.com/watch?v=xY78a2-rgQ0
載點



載點



2015年4月22日 星期三

屏幕旋转--自动及手动控制(视频播放中setRequestedOrientation之后手机屏幕的旋转不触发onConfigurationChanged方法)

在調用了setRequestedOrientation之後,手機螢幕的旋轉不觸發onConfigurationChanged方法,這個時候需要再調用一次
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);方法,讓他開啟自動旋轉事件

如代碼:
  1. /**  
  2.     * 開啟監聽器  
  3.     */  
  4.    private final void startListener() {  
  5.        mOrientationListener = new OrientationEventListener(this) {  
  6.            @Override  
  7.            public void onOrientationChanged(int rotation) {  
  8.   
  9.             if (startRotation == -2) {//初始化角度  
  10.                 startRotation = rotation;  
  11.             }  
  12.             //變化角度大於30時,開啟自動旋轉,並關閉監聽  
  13.             int r = Math.abs(startRotation - rotation);  
  14.             r = r > 180 ? 360 - r : r;  
  15.             if (r > 30) {  
  16.                 //開啟自動旋轉,回應螢幕旋轉事件  
  17.                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);  
  18.                 this.disable();  
  19.             }  
  20.            }  
  21.        };  
  22.    }  

在手動旋轉按鈕監聽事件中寫下
  1. //設置完之後變成強制設定為橫屏或縱屏,如同AndroidManifest.xml中設置了android:screenOrientation  
  2. if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {  
  3.     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
  4. }else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {  
  5.     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  
  6. }  
  7. //2秒後開啟螢幕旋轉監聽,用來開啟自動旋轉,回應螢幕旋轉事件  
  8. orientationHandler.sendEmptyMessageDelayed(0, 2000);  


最後設置handler
  1. private OrientationEventListener mOrientationListener; // 螢幕方向改變監聽器  
  2. private int startRotation;  
  3. Handler orientationHandler = new Handler(){  
  4.     public void handleMessage(Message msg) {  
  5.         startRotation = -2;  
  6.         mOrientationListener.enable();  
  7.     };  
  8. };