Подтвердить что ты не робот

Навигационный ящик без панели действий

Я искал много сайтов (stackoverflow также), но не мог понять, как реализовать навигационный ящик без панели действий. Я знаю, что этот вопрос уже задан здесь, но у него нет правильного объяснения и кода. Я новичок в разработке Android, поэтому кто-нибудь может объяснить мне код Как сделать ящик для навигации без панели действий

Спасибо заранее!

4b9b3361

Ответ 1

Нет никакой связи между панелью навигации и панелью действий. Попробуйте этот код, он поможет вам:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<FrameLayout
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</FrameLayout>

<ListView
    android:id="@+id/drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#FFF"
    android:choiceMode="singleChoice"/>

Java-код здесь:

public class MainActivity extends Activity {
final String[] data ={"one","two","three"};

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

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

     final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
     final ListView navList = (ListView) findViewById(R.id.drawer);
     navList.setAdapter(adapter);
     navList.setOnItemClickListener(new OnItemClickListener(){
             @Override
             public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){
                     drawer.setDrawerListener( new DrawerLayout.SimpleDrawerListener(){
                             @Override
                             public void onDrawerClosed(View drawerView){
                                     super.onDrawerClosed(drawerView);

                             }
                     });
                     drawer.closeDrawer(navList);
             }
     });
    }
}

Ответ 2

Просто добавьте свой DrawerLayout, как @mohan, тогда, если у вас есть кнопка или что-то, что вы нажимаете и хотите открыть ящик, просто сделайте вот так:

drawer.openDrawer(Gravity.LEFT);

и закрыть:

drawer.closeDrawer(Gravity.LEFT);

Ответ 3

Начиная с примера приложения Android NavigationDrawer:

  • Используйте тему "Активность": Theme.NoTitleBar
  • Удалите все ссылки ActionBar в коде
  • Создайте кнопку и в вызове clickListener:

    drawer.openDrawer(Gravity.LEFT);