2016-04-14 19 views
7

Ogni volta che aggiungo una nuova vista contenitore sulla superficie del designer e imposta sia layout:width e layout:height su wrap_content, la dimensione della vista del contenitore va oltre ciò che dovrebbe essere come mostrato di seguito.Contenitori allungati oltre nell'anteprima di Android Studio

Cosa devo fare per risolvere questo problema?

Android Studio

Codice frammento di content_main.xml

enter image description here

EDIT: potrebbe essere un po 'diverso da sopra, ma ancora lo stesso problema.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.dance2die.myapplication.MainActivity" 
    tools:showIn="@layout/activity_main"> 

    <ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/listView" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" 
     android:padding="0dp" /> 
</RelativeLayout> 
+2

Credo che questo accada perché il listview deve essere compilato con gli elementi della vista elenco prima che listview possa calcolarne l'altezza e la larghezza. Pertanto, senza altezza e larghezza misurate, non può avvolgere il contenuto come lo si desidera. Non penso che ci sia un buon modo per aggiustare questo diverso dal popolamento del listview con il contenuto di esempio in xml. –

+0

Pubblica il tuo snippet di codice XML invece di fornire nell'immagine. –

risposta

2

Usa

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

+0

Sfortunatamente la modifica di 'android: layout_width/height' a' match_parent' non ha modificato il comportamento dell'anteprima. – Sung

+0

Se questo è qualcosa di simile a html, cosa succede se si abbina il genitore ma si imposta padding-top e padding-bottom su 0dp? –

+0

@PaulTotzke Ancora lo stesso problema. Stavo seguendo un tutorial. All'interno del tutorial, quando l'autore imposta tutto il padding su 0, la listview occupa tutto lo schermo. Ma nel mio caso non si verifica. – Sung

1

un ipotesi, ma provare a utilizzare uno ScrollView invece di un relativelayout.

o all'interno del layout in modo che rimarrà della stessa dimensione quando il listview è popolato e non si allunga.

1

Questo a causa del tuo app:layout_behavior="" prova a cambiarlo o rimuoverlo, la dimensione del contenitore non andrà oltre.

+0

Impostazione 'app: layout_behavior =" "' spostato in alto sulla listview sopra e dietro la barra di azione. Ecco come appare ora. http://i.imgur.com/LE8JpEy.png – Sung

1

provare a cambiare la warp_content al match_parent

<ListView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/listView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:padding="0dp" /> 
2

Non c'è niente di sbagliato in questo.

L'anteprima mostra solo un'anteprima di ciò che utilizzerà utilizzando Simple 2-Line List item. È allungato perché lo hai impostato su wrap content in modo che lo ListView sarebbe effettivamente più lungo dello schermo se ci fossero più di 8 elementi (almeno in un'anteprima su quel dispositivo, magari su un'anteprima di un Nexus 6 che vedresti 10 articoli).

0

O la barra dei menu in alto spinge il div bambino in basso oi tasti di navigazione morbida vengono "flottati".

Innanzitutto, provare a nascondere la barra di stato (in alto). http://developer.android.com/training/system-ui/status.html

In secondo luogo, provare un nuovo dispositivo in Gestione dispositivo virtuale Android che non ha una barra dei pulsanti virtuale, come il Galaxy s7 o provare a nasconderlo. http://developer.android.com/training/system-ui/navigation.html