0

フルスクリーン アクティビティを作成しようとしていますが、GingerBread では機能しないようです。これが私のコードです

 @SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_eyes);
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
    ActionBar actionBar = getActionBar();
    actionBar.hide();

}

   if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){
       requestWindowFeature(Window.FEATURE_NO_TITLE);
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
   }

Gingerbread にはまだタイトルがあります。

これを修正する方法を知っている人はいますか?

4

5 に答える 5

3

まず、マニフェストでアクティビティをフルスクリーンとして設定する必要があります。目的のアクティビティで、このコードを追加します

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

そしてあなたのonCreateはこのようになるはずです

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

setContentView(R.layout.main);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
    ActionBar actionBar = getActionBar();
    actionBar.hide();

}

これで問題が解決する場合があります。

于 2012-08-26T04:05:28.380 に答える
3

requestWindowFeature電話をかける前に電話する必要があることを忘れないでくださいsetContentView

これを試して、Java でフルスクリーン アクティビティを作成します。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

そしてマニフェストで

android:theme="@android:style/Theme.Translucent.NoTitleBar"
于 2012-08-26T04:30:20.583 に答える
1

requestWindowFeatureの前に呼び出す必要がありますsuper.onCreate。そのようです:

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){
        requestWindowFeature(Window.FEATURE_NO_TITLE);
    }

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_eyes);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        ActionBar actionBar = getActionBar();
        actionBar.hide();
    }

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    // ...

これがうまくいかない場合は、getWindow().setFlags(...)呼び出しも一番上に移動します。

于 2012-08-26T03:30:37.617 に答える
0

マニフェストで設定しない理由がない限り、次の属性をマニフェストのタグに追加します。

<application
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    .....
>

また、.if 条件コードは必要ないと思いますonCreate()

于 2012-08-26T08:11:02.420 に答える