Existe uma maneira de mostrar uma visualização do conteúdo de um RecyclerView no editor do Android Studio?


Respostas:


642

@oRRs está certo!

Estou usando o Android Studio 1.4 RC2 e agora você pode especificar qualquer layout personalizado.

Eu tentei um CardView personalizado e funciona.

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

1
Veja o comentário do @oRRs: tools: listitem = "@ android: layout / simple_list_item_checked"
Philippe David

2
existe alguma maneira de visualizar no modo de grade?

27
@sajad tentar este app: LayoutManager = ferramentas "GridLayoutManager": listitem = "@ layout / layout_list_item_select_seat" app: spanCount = "5"
atabouraya

4
Se você também deseja definir a orientação para horizontal, você pode:tools:orientation="horizontal"
desenvolvedor android

3
Além de especificar tools:orientation="horizontal"ou android:orientation="horizontal"eu também tive que especificar app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"como por stackoverflow.com/questions/35681433/…
Michael Osofsky

136

tools O namespace permite recursos em tempo de design (como o layout a ser mostrado em um fragmento) ou comportamentos em tempo de compilação (como o modo de redução a ser aplicado aos seus recursos XML) É um recurso realmente poderoso que está sendo desenvolvido e permite que você não compile código a cada hora de ver mudanças

AndroidX [Sobre] e 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"/>

Suporte e 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" />

Outro recurso interessante que foi introduzido Android studio 3.0é a predefinição de dados através dos atributos das ferramentas, para visualizar facilmente sua estrutura de layout usando @tools:sample/*recursos

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>

Resultados:


2
Isso deve ser marcado como resposta, pois é detalhado e compatível com o RecylerView. Atualmente, as ListViews não são usadas.
Abhinav Saxena

Eu tive que mudar para menos abas de atributos na área de atributos para poder ver a listitemopção, eu poderia simplesmente digitar no código xml!
George Udosen 15/02/19

1
Se você estiver usando seu próprio layout de item de lista e estiver vendo apenas um (1) item de lista, verifique se layout_height = "wrap_content" em seu layout.
Jeffrey

1
De maneira interessante, só funciona para mim se eu usar o ListView, mas não com um RecyclerView. Alguma ideia? Copio colado para ter certeza de que não estava bagunçando as coisas com o meu RecyclerView. Mas, na verdade, funciona, por isso é um XML válido.
xarlymg89 20/02/19

"@tools: sample / *" é um tipo de recurso Android do reserver de dados de espaço reservado que você pode injetar em seus layouts. last_names - Sobrenomes comuns. O documento oficial completo - developer.android.com/studio/write/…
yoAlex5

4

Primeiro, adicione a seguinte linha no XML do item para fazer uma visualização da sua lista enquanto você edita o item:

tools:showIn="@layout/activity_my_recyclerview_item"

E eles, adicione a seguinte linha no XML do RecyclerView para visualizar como o item ficará na sua lista:

tools:listitem="@layout/adapter_item"

3

No Android Studio 1.3.1, ele mostra itens de lista padrão na visualização, mas ainda não permite que você especifique o seu. Espero que isso aconteça.


19
No AS 1.4, você pode selecionar dentre alguns layouts predefinidos, por exemplo: tools: listitem = "@ android: layout / simple_list_item_checked". Apenas clique com o botão direito do mouse no RecyclerView no editor de layout e escolha "Visualizar conteúdo da lista". Infelizmente, você ainda não pode usá-lo para seus próprios layouts, pelo menos para mim está gerando um erro de renderização.
oRRs 20/09/2015
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.