この質問は、このスレッドを拡張します特定の遅延時間後に ActionBar と NavigationBar を非表示にする方法は?
これは私のアプリケーションで機能します。しかし、それは一度だけ実行されます。ボタンが押されるまで実行し続けるようにするにはどうすればよいですか (戻るボタン)
ところで、これは、写真を表示するときの Android の Gmail アプリのような photoViewer アプリ (の一部) です。
Update1: 実際には、actionBar を再び show() および hide() するための touchListener があります。だから私が欲しいのは、imageViewレイアウトにいるとき、アクションバーが3000ミリ秒で消えてから、タップしてshow()、3000ミリ秒後に再び消えるはずです。繰り返しますが、Gmail の Android アプリと同じように、メールから画像を読み込む場合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); // overlay mode
setContentView(R.layout.fullscreen_image);
ActionBar actionBar = getActionBar();
actionBar.setCustomView(R.layout.actionbar_top);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
// time delay to hide actionBar
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
// DO DELAYED STUFF
getActionBar().hide();
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
}
}, 3000); // e.g. 3000 milliseconds
....
Button back = (Button)findViewById(R.id.btnBack);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});