2

全屏在我的應用程序,我寫這樣的代碼:如何設置保持屏幕和全屏幕標誌?

public void onCreate(Bundle savedInstanceState) { 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 
       super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
         . 
         . 
         . 

並保持畫面在我的應用我寫這篇文章的代碼佈局:

android:keepScreenOn="true" 

雖然它並不總是,有時錯誤我喜歡此:

java.lang.IllegalArgumentException: View not attached to window manager 
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:381) 
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:226) 
at android.view.Window$LocalWindowManager.removeView(Window.java:432) 
at android.app.Dialog.dismissDialog(Dialog.java:278) 
at android.app.Dialog.access$000(Dialog.java:71) 
at android.app.Dialog$1.run(Dialog.java:111) 
at android.app.Dialog.dismiss(Dialog.java:268) 
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3691) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
at dalvik.system.NativeStart.main(Native Method) 

我該怎麼辦?我寫真碼? 感謝...

回答

6
super.onCreate(savedInstanceState); 
requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
setContentView(R.layout.main); 

super.onCreate必須首先調用....

你可以做到這一點編程:

public class ActivityName extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // remove title 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.main); 
    } 
} 

或者您也可以通過您的AndroidManifest.xml做文件:

<activity android:name=".ActivityName" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
</activity> 
+0

嘗試,讓我們知道結果 – 2012-04-22 07:05:40

+0

謝謝回答這樣keep_screen_on標誌刪除以下? – 2012-04-22 07:10:20

+0

我不知道screenOnflag我用上面的代碼,使全屏幕,但沒有使用任何標誌 – 2012-04-22 07:16:02

2

在AndroidMenifest.xml文件中添加活動

android:name=".ActivityName" 
     android:configChanges="orientation|keyboardHidden" 
     android:keepScreenOn="true" 
     android:label="@string/app_name" 
     android:theme="@style/customTheme" > 

,如果之前就存在的setContentView

boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);