Autore Topic: Layout reale diverso dalla preview di Android Studio  (Letto 272 volte)

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Layout reale diverso dalla preview di Android Studio
« il: 29 Giugno 2015, 12:33:13 CEST »
0
Ciao a tuti,

in pratica in Android Studio se provo a vedere l'anteprima del layout (aggiungendo del testo di prova) tutto funziona perfettamente, invece quando lo carico sul Nexus 5 praticamente il testo mi va sopra le immagini.

Questo è il Layout:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:card_view="http://schemas.android.com/apk/res-auto"
       android:layout_height="wrap_content"
       android:gravity="left|center"
       android:layout_width="fill_parent"
       android:paddingBottom="5px"
       android:paddingTop="5px"
       android:paddingLeft="5px"
       >

    <android.support.v7.widget.CardView
       android:layout_gravity="center"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_margin="5dp"
       card_view:cardCornerRadius="2dp"
       card_view:contentPadding="5dp"
       android:id="@+id/cv"
       >


        <LinearLayout
           android:orientation="vertical"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">

            <TextView android:id="@+id/nome"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:text="Nome"
               android:textColor="#000"/>

            <TextView android:id="@+id/via"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:text="Nome"
               android:textColor="#000"/>

            <TextView android:id="@+id/giorni"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:text="Nome"
               android:textColor="#004B7D"/>

            <TextView android:id="@+id/avvisi"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:text="Nome"
               android:textColor="#c31c13"/>

        </LinearLayout>
        <LinearLayout
           android:orientation="vertical"
           android:layout_width="60dip"
           android:layout_gravity="right"
           android:layout_height="wrap_content">

            <TextView android:id="@+id/note"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:text="Note"
               android:gravity="right"
               android:textColor="#c31c13"/>
            <ImageView
               android:id="@+id/gluten"
               android:layout_marginTop="5dp"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               />
            <ImageView
               android:id="@+id/bar"
               android:layout_marginTop="5dp"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_below="@+id/gluten"
               />
            <ImageView
               android:id="@+id/timer"
               android:layout_marginTop="5dp"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_below="@+id/bar"
               />
        </LinearLayout>



    </android.support.v7.widget.CardView>

</LinearLayout>

Senza CardView funziona bene, ovvero ;

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="wrap_content"
   android:gravity="left|center"
   android:layout_width="fill_parent"
   android:paddingBottom="5px"
   android:paddingTop="5px"
   android:paddingLeft="5px"
   >


    <LinearLayout
       android:orientation="vertical"
       android:layout_width="0dip"
       android:layout_weight="1"
       android:layout_height="fill_parent">

        <TextView android:id="@+id/nome"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="Nome"
           android:textColor="#000"/>

        <TextView android:id="@+id/via"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="Nome"
           android:textColor="#000"/>

        <TextView android:id="@+id/giorni"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="Nome"
           android:textColor="#004B7D"/>

        <TextView android:id="@+id/avvisi"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="Nome"
           android:textColor="#c31c13"/>

    </LinearLayout>
    <LinearLayout
       android:orientation="vertical"
       android:layout_width="60dip"
       android:layout_height="fill_parent">

        <TextView android:id="@+id/note"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="Note"
           android:gravity="center"
           android:textColor="#c31c13"/>
    <ImageView
       android:id="@+id/gluten"
       android:layout_marginTop="5dp"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       />
    <ImageView
       android:id="@+id/bar"
       android:layout_marginTop="5dp"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/gluten"
       />
    <ImageView
       android:id="@+id/timer"
       android:layout_marginTop="5dp"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/bar"
       />
    </LinearLayout>

</LinearLayout>


se provo a mettere alle TextView,               
Codice (XML): [Seleziona]
 android:layout_width="250dp" non cambia nulla..nell'anteprima va tutto bene ma poi nel dispositivo il testo va sopra l'immagine
« Ultima modifica: 29 Giugno 2015, 12:37:35 CEST da felasandroid »

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Layout reale diverso dalla preview di Android Studio
« Risposta #1 il: 29 Giugno 2015, 17:04:44 CEST »
0
Ciao,

come prima cosa (come dovrebe suggerirti anche l'IDE), non usare px ma dp

Il testo ti va sopra l'immagine evidentemente perchè è un testo molto lungo. Se tu nell'IDE provi a scrivere un testo lungo ti accorgerai che fa la stessa cosa.

Ovviamente, scegli come anteprima il Nexus 5 così da vedere le differenze. Potresti usare:

Codice (XML): [Seleziona]
android:maxLines="1"Per bloccare il testo ad una riga
Codice (XML): [Seleziona]
android:ellipsize="end"Per mettere i "3 puntini" in fondo

E dare una lunghezza fissa al testo.


Saluti.

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Layout reale diverso dalla preview di Android Studio
« Risposta #2 il: 29 Giugno 2015, 17:12:00 CEST »
0
Ciao,



Il testo ti va sopra l'immagine evidentemente perchè è un testo molto lungo. Se tu nell'IDE provi a scrivere un testo lungo ti accorgerai che fa la stessa cosa.

Grazie. La cosa strana come ho scritto nel primo post è che se provo a scrivere un testo lunghissimo nell'IDE tutto funziona come dovrebbe e non fa la stessa cosa

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Layout reale diverso dalla preview di Android Studio
« Risposta #3 il: 29 Giugno 2015, 17:14:23 CEST »
0
Potresti postare uno screen del device?

EDIT:

A me sembra che vada sopra l'immagine anche nell'IDE

http://oi60.tinypic.com/awulwj.jpg

#2 EDIT:

Metti i due LinearLayout dentro un RelativeLayout...

Facciamo finta di chiamare i linearLayout rispettivamente linearSinistra & linearDestra...

il linearSinistra dovrà avere:
Codice (XML): [Seleziona]
android:layout_toLeftOf="@+id/linearDestra"
android:layout_toStartOf="@+id/linearDestra"

Così il linearSinistra si fermerà quando inizia il linearDestra ed il suo contenuto non potrà andare sopra quello di linearDestra.


Saluti.
« Ultima modifica: 29 Giugno 2015, 17:33:02 CEST da LinkOut »