【问题标题】:Show Hide Sherlock Action Bar显示隐藏 Sherlock 操作栏
【发布时间】:2013-06-13 06:54:00
【问题描述】:

我已通过在清单中使用以下行将 Sherlock 操作栏添加到活动:

android:theme="@style/Theme.Sherlock.Light"

我想节省屏幕空间并默认隐藏操作栏,仅在用户点击屏幕时显示。我在 Aldiko 应用中看到过,但不知道如何实现。

欢迎任何帮助。

【问题讨论】:

  • 如果有兴趣,您可能想查看在选择在 Eclipse 中启动新应用程序时可以获得的全屏应用程序模板。有一些很好的自动隐藏操作栏的代码。

标签: android actionbarsherlock


【解决方案1】:

要在您的活动onCreate() 方法上隐藏使用下面的代码,

getSupportActionBar().hide();

要在点击事件中显示使用下面的代码,

getSupportActionBar().show();

关注ActionBarSherlock Usage了解更多详情。

【讨论】:

  • 谢谢。工作非常好。我现在才知道 Sherlock ActionBar 与 Google 的 ActionBar 具有相同的 API 方法。再次感谢
  • 也为我工作,但是...如何仅隐藏,例如,共享提供者?
【解决方案2】:

首先将 id 赋予活动布局的包装节点(main_layout.xml):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/containerMain"

第二次在您的活动代码中实现这一点:

boolean isActionBarShow=true;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_layout);

    a=getSupportActionBar();
    RelativeLayout rl= (RelativeLayout)findViewById(R.id.containerMain);
    rl.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction()==MotionEvent.ACTION_DOWN)
                if (isActionBarShow)
                {
                    a.hide();
                    isActionBarShow=false;                      
                }
                else
                {
                    a.show();
                    isActionBarShow=true;

                }
            return false;
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多