私はタブ構造のアプリケーションに取り組んでおり、スライド動作を使用してタブ内を移動します。
しかし、今、私は引き出しレイアウトを適用したいと思います。問題は、ドロワーにイベントを開くためのスライドがあることです。このイベントを削除するにはどうすればよいですか?私の考えは、引き出しはボタンでしか開閉できないというものでした。これは可能ですか?ありがとう!
書くだけ
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
メニューがジェスチャーを聞かないようにする
openDrawer
とcloseDrawer
を使用して、メニューの表示を変更します
デフォルトでは、DrawerLayoutは、スライドが発生するまでにDrawer
を開くコードを入力しない限り、最初はビューから非表示になっています。イベントがトリガーされました。
Navigation Drawer の例から、contain _content_frame
_は、フラグメントを使用してDrawer
内のビューを動的に表示するために使用されます。
_ <FrameLayout
Android:id="@+id/content_frame"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
</FrameLayout>
_
Fragment
のonCreateView()
から、このコードを配置するOnClickListener
のあるボタンをどこかに含めることができます。
_ //For me a better way in avoiding a `null pointer` in getting the DrawerLayout
final DrawerLayout drawer = (DrawerLayout) getActivity().findViewById(R.id.drawer_layout);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Opens the Drawer
drawer.openDrawer(Your View, Usually a ListView);
}
return false;
});
_
*を使用して引き出しを閉じることもできます。
_drawer.closeDrawer(Your View, Usually a ListView);
_
このように書くことができます
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
drawer.openDrawer(navigationView);
}
});
フラグメント内のボタンをクリックして引き出しアイテム間を移動したい場合は、これを使用できます
((YourMainActivity)getActivity()).selectItem(position);