سؤال

لقد قمت بتنفيذ درج التنقل المشابه لـ قائمة Android المنزلقة باستخدام درج التنقل.تظهر قائمة الشرائح بشكل صحيح، ولكنها واسعة جدًا (العرض طويل جدًا)..عندما أتحقق منه في هاتفي/TAB، فهو طويل جدًا في الوضع الرأسي والأفقي.يكاد يلمس الجانب الآخر من الشاشة.شيء مثل ملء الشاشة.

عندما أقوم بتشغيل المشروع المقدم في AndroidHive.الأمور على ما يرام.لقد قمت للتو بضبط XML وفقًا للمتطلبات، وهذا كل شيء

فيما يلي قائمة الأدراج بتنسيق XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:background="@drawable/list_selector" >

<ImageView
    android:id="@+id/icon"
    android:layout_width="25dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="12dp"
    android:layout_marginRight="12dp"
    android:contentDescription="@string/desc_list_item_icon"
    android:src="@drawable/maps" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_toRightOf="@id/icon"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
    android:paddingRight="40dp"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:textColor="@color/list_item_title" />

<TextView
    android:id="@+id/counter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="8dp"
    android:background="@drawable/roundcircle"
    android:paddingLeft="12dp"
    android:paddingRight="12dp"
    android:paddingTop="4dp"
    android:textColor="@color/counter_text_color"
    android:textStyle="bold" />

 </RelativeLayout>

هذا هو ListView.XML الذي يحتوي على Slide ListView

<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/frame_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />


    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/list_background"
        android:choiceMode="singleChoice"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />

 </android.support.v4.widget.DrawerLayout>

لست متأكدا أين أخطأ؟

هل كانت مفيدة؟

المحلول

لم تقم بتحديد العرض المناسب لجهازك NavigationDrawer.إذا قمت بتعيين العرض ل match_parent سيكون - كما يوحي الاسم - بحجم الوالد.وأنت لا تريد NavigationDrawer أن تكون بحجم الشاشة، لذا حدد عرضًا يبلغ حوالي 240dp.جرب شيئًا مثل هذا:

<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/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="match_parent"
        android:layout_height="240dp"
        android:layout_gravity="start"
        android:background="@color/list_background"
        android:choiceMode="singleChoice"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />

</android.support.v4.widget.DrawerLayout>

نصائح أخرى

على ListView يحتاج إلى عرض أصغر.محاولة android:layout_width="240dp".

هذا هو في الأساس بناء على الدليل الرسمي: http://developer.android.com/training/implementing-navigation/nav-drawer.html

المعلومة:الاختيار مزدوج الدروس مع الوثائق الرسمية :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top