6

マニフェストで次の行を使用して、Sherlock アクション バーをアクティビティに追加しました。

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

画面スペースを節約し、デフォルトでアクションバーを非表示にして、ユーザーが画面をタップしたときにのみ表示したい. Aldiko アプリで見たことがありますが、実装方法がわかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

1

まず、アクティビティ レイアウト (main_layout.xml) のラッピング ノードに ID を指定します。

<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;
        }
    });
于 2013-06-13T07:28:26.333 に答える