Android |是否可以在onCreate方法中循环?
这个问题扩展了这个线程,如何在一定的延迟时间后隐藏ActionBar和NavigationBar 这适用于我的应用程序。但它只运行一次。我如何使它一直执行直到按下按钮(后退按钮) 顺便说一句,这是一个photoViewer应用程序(部分),就像android上的Gmail应用程序一样,当你查看照片时 更新1:我实际上有一个touchListener来再次显示()和隐藏()操作栏。所以我想要的是,当我在imageView布局中时,actionBar将在3000毫秒后消失,然后我点击show(),然后在3000毫秒后它应该再次消失。同样,就像Gmail android应用程序一样,当你从电子邮件中加载图片时Android |是否可以在onCreate方法中循环?,android,android-actionbar,Android,Android Actionbar,这个问题扩展了这个线程,如何在一定的延迟时间后隐藏ActionBar和NavigationBar 这适用于我的应用程序。但它只运行一次。我如何使它一直执行直到按下按钮(后退按钮) 顺便说一句,这是一个photoViewer应用程序(部分),就像android上的Gmail应用程序一样,当你查看照片时 更新1:我实际上有一个touchListener来再次显示()和隐藏()操作栏。所以我想要的是,当我在imageView布局中时,actionBar将在3000毫秒后消失,然后我点击show(),然
@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();
}
});
我认为您应该将计时器线程的创建移动到onClick(),以便每次单击时都会启动一个新的计时器。将计时器放置在OnCreate中可以确保它只运行一次。 如果您想让它在用户每次旋转屏幕、暂停或其他任何时候都运行,请将它放在onResume中。但是,正如popovitsj所建议的,戴上onClick很可能是你想要的