2013-10-14 214 views
0

我想鎖定在非活動靜態類屏幕的方向,這樣鎖定屏幕方向

public class ScreenUtil { 

private static Context context; 

public static void Init(Context context) { 
    ScreenUtil.context = context; 
} 

public static boolean lock() { 
    if (((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) || 
    ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE)) { 
     return false; 
    } else { 
     context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     return true; 
    } 
} 

}

但鎖方法的Eclipse要投上下文對象

((Object) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

,仍然要改變投

我的問題是,如果我不能改變或ientation這樣的(靜態非Activity類),以及如何,如果可能修復它

感謝所有的答案

回答

0

傳遞活動引用作爲參數傳遞給init方法

private static Activity context; 

public static void Init(Activity context) { 
    ScreenUtil.context = context; 
} 

然後你可以使用

context.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
+0

好,但如果我只想在一個活動(MainActivity)初始化。 – Mariusz

+0

,你寫的東西可以寫成其他方式:)'公共靜態布爾鎖(活動上下文){' – Mariusz