2015-02-20 3 views
-3

Я отчаянно пытаюсь реализовать простой навигационный ящик для моего небольшого Android-проекта. Я хочу, чтобы он вел себя так, как вы ожидали бы от ящика, и для начала нового действия, когда вы нажимаете на Item.Учебник по реализации навигационного ящика

Но я просто не могу заставить его работать. Я последовал за бесчисленными учебниками шаг за шагом, но я застрял.

Итак, есть ли простой прямой учебник для простого добавления ящика со списком, который запускает действие при нажатии? Я имею в виду, что нельзя писать сотни и сотни строк кода, чтобы получить такую ​​«простую» вещь. Мне не нужны какие-нибудь причудливые значки или что-то еще! Просто маленькая вещь вроде this сделала бы меня счастливой.

EDIT: Кто-то рекомендовал this видео для меня. что было действительно полезно.

ответ

1

Я нашел этот учебник, который работает очень хорошо и красиво закодирован.

Tute Central Tutorial Navigation Drawer

Для навигации ящика, вы должны использовать FragmentActivity и каждый клик по Выдвижному Item изменяет фрагмент на активности.

Некоторые ошибки могут возникнуть

  1. Иногда щелчок по пункту ящика не работает. Это связано с плохим форматом макета. Вы строго должны использовать этот формат, чтобы получить максимальную отдачу от андроида -

    <android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    
    <!-- As the main content view, the view below consumes the entire 
        space available using match_parent in both dimensions. --> 
    <FrameLayout 
        android:id="@+id/content_frame" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" /> 
    
    <!-- android:layout_gravity="start" tells DrawerLayout to treat 
        this as a sliding drawer on the left side for left-to-right 
        languages and on the right side for right-to-left languages. 
        The drawer is given a fixed width in dp and extends the full height of 
        the container. A solid background is used for contrast 
        with the content view. --> 
    
    <ListView 
        android:id="@+id/left_drawer" 
        android:layout_width="240dp" 
        android:layout_height="match_parent" 
        android:layout_gravity="start" 
        android:choiceMode="singleChoice" 
        android:divider="@android:color/transparent" 
        android:dividerHeight="0dp" 
        android:background="#ffff"/> 
    

  2. Если вы хотите вставить больше просмотров - Для другого макета, чтобы вставить его можно заменить <FrameLayout> с <RelativeLayout> и бросить кадр макет в нем. Например -

    <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
    
        <FrameLayout 
         android:id="@+id/content_frame" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" /> 
    
        <!-- Any other view here --> 
    </RelativeLayout> 
    

Если вам нужна любая другая помощь! Дай мне знать. Счастливое кодирование

Cheers

Смежные вопросы