Utwórz przycisk onCreate(Bundle)
metody:
Button button = new Button(this);
Znajdź twój DrawerLayout
:
mDrawerLayout = (DrawerLayout) findViewById(R.id.my_drawer_layout_id);
ustawić OnClickListener
tego przycisku:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
mDrawerLayout.openDrawer(Gravity.LEFT);
}
)
To daje pustą szufladę. Jeśli masz View
które chcesz umieścić w szufladzie, należy wymienić:
mDrawerLayout.openDrawer(Gravity.LEFT);
z:
mDrawerLayout.openDrawer(myCustomView);
Jeśli chcesz przycisk, aby przełączyć szufladę (zamknij szufladę jeśli jej otwarty lub , otwórz go, jeśli jego zamknięty) używać następujących OnClickListener
:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
mDrawerLayout.closeDrawer(Gravity.LEFT);
} else {
mDrawerLayout.openDrawer(Gravity.LEFT);
}
}
)
Jeśli używasz widoku niestandardowego, użyj tego OnClickListener
:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mDrawerLayout.isDrawerOpen(myCustomView)) {
mDrawerLayout.closeDrawer(myCustomView);
} else {
mDrawerLayout.openDrawer(myCustomView);
}
}
)
ale jak dodać przycisk? –
W odpowiedzi nie dodałem przycisku w działaniu, ale w fragmencie, więc można uzyskać dostęp do szuflady z dowolnego fragmentu i dowolnego zdarzenia kliknięcia widoku, wywołując metodę open(). – Pravin
dziękuję, że wykonano zadanie –