当用户点击屏幕上的任意位置时,我希望操作栏隐藏,再次按下时,它应该重新出现。
我知道有一种叫做actionbar.hide()的东西;并展示,但是,请你帮我解决一下如何实施它? :)
答案 0 :(得分:14)
只需hide():
getActionBar().hide();
如果要隐藏它,请使用show():
getActionBar().show()
当你想要展示它时。就是这样。
请记住,如果您使用的是View.SYSTEM_UI_FLAG_FULLSCREEN,则无法正常使用。
答案 1 :(得分:1)
试试这个。你在这里可以根据你的提议调用隐藏或显示方法
public class AbstractActivity Activity {
private boolean showActions = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setHomeButtonEnabled(true);
bar.setDisplayShowHomeEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case android.R.id.home:
return true;
default:
// Nothing to do here
return super.onOptionsItemSelected(item);
}
}
private void handleActionBarTitle(boolean show) {
ActionBar actionBar = getSupportActionBar();
if (actionBar == null) {
return;
}
actionBar.setDisplayShowTitleEnabled(show);
}
protected void disableActions() {
this.showActions = false;
}
protected void enableActions() {
this.showActions = true;
}
protected void hideActionBarTitle() {
handleActionBarTitle(false);
}
protected boolean showActions() {
return showActions;
}
protected void showActionTitle() {
handleActionBarTitle(true);
}
您的活动只需要扩展此AbstractActivity