มีวิธีในการแสดงตัวอย่างเนื้อหาของ RecyclerView ในโปรแกรมแก้ไข Android Studio หรือไม่?


296

เมื่อฉันเพิ่ม RecyclerView ลงในเลย์เอาต์มันจะปรากฏเป็นหน้าจอว่างเปล่า มีวิธีเช่นผ่านtoolsnamespace เพื่อแสดงตัวอย่างของเนื้อหาของ RecyclerView หรือไม่

คำตอบ:


642

@oRRs ถูกต้อง!

ฉันใช้ Android Studio 1.4 RC2 และตอนนี้คุณสามารถระบุเค้าโครงที่กำหนดเองได้แล้ว

ฉันลองใช้ CardView แบบกำหนดเองและใช้งานได้

tools:listitem="@android:layout/simple_list_item_checked"

1
ดูความคิดเห็น @oRRs: เครื่องมือ: listitem = "@ android: layout / simple_list_item_checked"
ฟิลิปป์เดวิด

2
มีวิธีการดูตัวอย่างในโหมดกริดหรือไม่?

27
@sajad ลองใช้แอพนี้: layoutManager = "GridLayoutManager" เครื่องมือ: listitem = "@ เลย์เอาต์ / layout_list_item_select_seat" แอพ: spanCount = "5"
atabouraya

4
หากคุณต้องการตั้งค่าแนวนอนให้เป็นแนวนอนคุณสามารถ:tools:orientation="horizontal"
นักพัฒนา Android

3
นอกจากการระบุtools:orientation="horizontal"หรือandroid:orientation="horizontal"ฉันยังมีการระบุapp:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"เป็นต่อstackoverflow.com/questions/35681433/...
ไมเคิล Osofsky

137

tools เนมสเปซเปิดใช้งานฟีเจอร์ขณะออกแบบ (เช่นเลย์เอาต์ที่จะแสดงในส่วน) หรือพฤติกรรมการคอมไพล์เวลา (เช่นโหมดการย่อขนาดเพื่อใช้กับทรัพยากร XML ของคุณ) มันเป็นคุณสมบัติที่ทรงพลังจริงๆที่พัฒนาและช่วยให้คุณไม่ เวลาที่จะเห็นการเปลี่ยนแปลง

AndroidX [เกี่ยวกับ]และ GridLayoutManager

implementation 'androidx.recyclerview:recyclerview:1.1.0'
<androidx.recyclerview.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    tools:listitem="@layout/item"
    tools:itemCount="10"
    tools:orientation="vertical"
    tools:scrollbars="vertical"
    tools:spanCount="3"/>

การสนับสนุนและ LinearLayoutManager

implementation 'com.android.support:recyclerview-v7:28.0.0'

<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    tools:layoutManager="android.support.v7.widget.LinearLayoutManager"
    tools:listitem="@layout/item"
    tools:itemCount="3"
    tools:orientation="horizontal"
    tools:scrollbars="horizontal" />

อีกคุณสมบัติที่ยอดเยี่ยมที่ได้รับการแนะนำAndroid studio 3.0คือการกำหนดข้อมูลล่วงหน้าผ่านคุณสมบัติของเครื่องมือเพื่อแสดงโครงสร้างของเลย์เอาต์ของคุณได้อย่างง่ายดายโดยใช้@tools:sample/*ทรัพยากร

item.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="100dp"
    android:layout_height="150dp"
    android:layout_marginRight="15dp"
    android:layout_marginBottom="10dp"
    android:orientation="vertical"
    tools:background="@tools:sample/backgrounds/scenic">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/colorWhite"
        tools:text="@tools:sample/first_names" />

</FrameLayout>

ผล:


2
ควรทำเครื่องหมายเป็นคำตอบเนื่องจากมีรายละเอียดและเข้ากันได้กับ RecylerView ListViews ไม่ได้ใช้งานในปัจจุบัน
Abhinav Saxena

ฉันต้องเปลี่ยนไปที่แท็บแอตทริบิวต์น้อยลงในพื้นที่แอตทริบิวต์เพื่อให้สามารถเห็นlistitemตัวเลือกฉันเพียงแค่พิมพ์ลงในรหัส xml!
George Udosen

1
หากคุณใช้เค้าโครงรายการของคุณเองและคุณเห็นรายการในรายการเพียงหนึ่ง (1) ให้ตรวจสอบว่า layout_height = "wrap_content" บนเค้าโครงของคุณ
เจฟฟรีย์

1
มันทำงานได้ดีสำหรับฉันเท่านั้นหากฉันใช้ ListView แต่ไม่ใช่กับ RecyclerView ความคิดใด ๆ ¿ ฉันคัดลอกวางเพื่อให้แน่ใจว่าฉันไม่ได้ยุ่งกับ RecyclerView ของฉัน แต่ใช้งานได้จริงมันเป็น XML ที่ถูกต้อง
xarlymg89

"@tools: sample / *" เป็นประเภทข้อมูลทรัพยากรตัวสำรองของ Android ที่คุณสามารถแทรกลงในเลย์เอาต์ของคุณได้ last_names - ชื่อสามัญทั่วไป เอกสารอย่างเป็นทางการฉบับเต็ม - developer.android.com/studio/write/…
yoAlex5

4

ก่อนอื่นเพิ่มบรรทัดต่อไปนี้ในรายการ XML ของคุณเพื่อแสดงตัวอย่างรายการของคุณในขณะที่คุณแก้ไขรายการ:

tools:showIn="@layout/activity_my_recyclerview_item"

และเพิ่มบรรทัดต่อไปนี้ใน RecyclerView XML ของคุณเพื่อดูตัวอย่างว่ารายการของคุณจะมีลักษณะอย่างไรในรายการของคุณ:

tools:listitem="@layout/adapter_item"

3

สำหรับ Android Studio 1.3.1 จะแสดงรายการเริ่มต้นในหน้าตัวอย่าง แต่ยังไม่อนุญาตให้คุณระบุได้เอง หวังว่ามันจะมา


19
ใน AS 1.4 คุณจะได้เลือกจากเลย์เอาต์ที่กำหนดไว้ล่วงหน้าเช่น: tools: listitem = "@ android: layout / simple_list_item_checked" เพียงคลิกขวาที่ RecyclerView ในเครื่องมือแก้ไขเลย์เอาต์แล้วเลือก "ดูรายการเนื้อหาตัวอย่าง" น่าเสียดายที่คุณยังคงไม่สามารถใช้งานได้สำหรับเค้าโครงของคุณเองอย่างน้อยสำหรับฉันมันกำลังโยนข้อผิดพลาดในการแสดงผล
Orrs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.