2

START ボタンを押したときに特定のアクティビティを全画面表示するように設定しています。

この場合、showStopButton()は と呼ばれます。

順調です。しかし、私が挿入した場合

 requestWindowFeature(Window.FEATURE_NO_TITLE); 

その後、クラッシュし、コンテンツを追加する前に呼び出す必要があると述べています。

NO_TITLEwを設定するにはどうすればいいですFULL_SCREENか??

    private void showStopButton(){

    // requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    getWindow().findViewById(android.R.id.content).requestLayout();

    // handle element visibility
((Button)findViewById(R.id.stopButton)).setEnabled(false);
    ((Button)findViewById(R.id.startButton)).setVisibility(View.GONE);
    ((Button)findViewById(R.id.stopButton)).setVisibility(View.VISIBLE);
    ((SeekBar)findViewById(R.id.seekBar1)).setVisibility(View.VISIBLE);
    ((Button)findViewById(R.id.resetButton)).setVisibility(View.GONE);
    ((Button)findViewById(R.id.saveButton)).setVisibility(View.GONE);
}

STARTボタンが再表示されたときは逆のプロセスがあり、正常に動作しています。この場合、フルスクリーンモードを削除します

     private void showStartButton(){

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().findViewById(android.R.id.content).requestLayout();
        ....
    }
4

6 に答える 6

4

とてもシンプルです... ActionBarを非表示にするだけです...そして、標準画面に戻ったときに表示します...

   private void showStopButton(){
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        ActionBar actionBar = getActionBar();
        actionBar.hide();
        getWindow().findViewById(android.R.id.content).requestLayout();
于 2014-01-26T09:23:56.373 に答える
3

-public class MainActivity extends Activity- の代わりに -public class MainActivity extends ActionBarActivity- を使用してください

于 2014-12-30T09:52:58.030 に答える
1

Add this.

requestWindowFeature(Window.FEATURE_NO_TITLE);

before

 super.onCreate(savedInstanceState);
 setContentView(R.layout.your activity);
于 2019-05-18T15:42:05.127 に答える
0

次のようになります。

public class MainActivity extends AppCompatActivity {
   ...
    private final Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getSupportActionBar().hide(); 
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setContentView(R.layout.activity_main);

上記のコードをパトカーのライトとサイレンの例で使用しました。アプリケーションを起動すると、ライトのアニメーションが自動的に開始され、バックグラウンドでサイレンが鳴ります。

ソース:アンドロイド警察のライト & サイレン

ここに画像の説明を入力

于 2021-03-22T07:57:36.363 に答える