web-dev-qa-db-fra.com

Comment bien concevoir / styliser un Android tiroir de navigation

Im ayant du mal à trouver des ressources sur la façon de concevoir correctement un standard Tiroir de navigation . J'ai le XML ci-dessous et je cherche des moyens de remplir plusieurs vues de liste, de changer la police du texte dans la vue de liste, etc.

Im essayant de concevoir similaire à certains des modèles suivants.

enter image description here

Je cherche à trouver des documents, des guides, du code, des exemples ou une direction en plus de me référencer au Design doc . Je suis à la recherche d'un code plus réel sur la façon d'adapter correctement ce nouveau Android modèle de conception, pas seulement des idées sur leur apparence.

NavDrawer

 <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">

<FrameLayout
    Android:id="@+id/content_frame"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" />

<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="#ffffff"/>
 </Android.support.v4.widget.DrawerLayout>

Affichage

<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@Android:id/text1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="?android:attr/activatedBackgroundIndicator"
Android:gravity="center_vertical"
Android:minHeight="?android:attr/listPreferredItemHeightSmall"
Android:paddingLeft="16dp"
Android:paddingRight="16dp"
Android:text="Loading Content ..."
Android:textAppearance="?android:attr/textAppearanceListItem"
Android:textColor="#000000" />
23
Jaison Brooks

Vous pouvez utiliser n'importe quel ViewGroup comme un LinearLayout pour votre tiroir. Il n'est pas limité à un ListView et un FrameLayout. Pour cette raison, vous pouvez styliser votre vue de tiroir comme n'importe quelle autre disposition d'une activité par exemple. La seule chose que vous devez garder à l'esprit est que le NavigationDrawer ne peut avoir que deux enfants. Le premier est votre mise en page pour l'activité et le second est le tiroir. N'hésitez pas à les coiffer à votre guise!

<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">

<FrameLayout
    Android:id="@+id/content_frame"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" />

<!-- YOUR DRAWER -->
<LinearLayout
    Android:id="@+id/drawer_view"
    Android:layout_width="240dp"
    Android:layout_height="match_parent"
    Android:orientation="vertical"
    Android:layout_gravity="start">

    <!-- Use any Views you like -->
    <ListView
        Android:id="@+id/left_drawer"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:choiceMode="singleChoice"
        Android:divider="@Android:color/transparent"
        Android:dividerHeight="0dp"
        Android:background="#ffffff"/>
</LinearLayout>
</Android.support.v4.widget.DrawerLayout>
34
Steve Benett