CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 8 su 8
Discussione:

Elemento va fuori dallo schermo

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Question

    Elemento va fuori dallo schermo

    Ciao a tutti ragazzi!
    Ecco il mio codice:
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tableLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <TextView
                android:layout_marginLeft="5dip"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:id="@+id/text"
                android:text="@string/errore"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"></TextView>
    
        <ImageButton
            android:id="@+id/share_btn"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:contentDescription="@string/share"
            android:src="@drawable/ic_action_share_green" />
    
    </LinearLayout>
    Dovrei posizionare quell'ImageButton a destra della TextView.
    Ma se cambio l'orientamento in horizontal, il bottone a volte (a seconda della grandezza della TextView) finisce fuori.
    Mi servirebbe una soluzione uguale per ogni dimensione del display (quindi non posso dare dimensioni alla TextView e non può aiutarmi neanche weightSum).
    Quale metodo potrei utilizzare?
    Grazie mille anticipatamente.

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    Per scrivere codice "adattabile" a tutte le tipologie di schermi, il LinearLayout come layout principale è vivamente sconsigliato (come puoi leggere su android developer).
    Devi utilizzare il RelativeLayout. Le soluzioni per fare quello che vuoi tu sono molteplici, potresti ad esempio impostare l'allineamento del bottone a destra della textview, e dargli peso 1, in modo tale che durante la creazione del layout, prima viene posizionato il bottone, e nello spazio rimanente viene posizionata la TextView

  4. #3
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da giozh Visualizza il messaggio
    impostare l'allineamento del bottone a destra della textview, e dargli peso 1, in modo tale che durante la creazione del layout, prima viene posizionato il bottone, e nello spazio rimanente viene posizionata la TextView
    Come posso dare il peso ad un elemento contenuto in un RelativeLayout?

  5. #4
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    android:layout_weight

  6. #5
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Non è una funzione relativa al layout lineare?

  7. #6
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    si. Se vuoi per forza utilizzare il LinearLayout puoi usare questo stratagemma. Se vuoi usare il relative ce ne sono altri

  8. #7
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho provato ma non funziona.
    Il peso non serve a dividere lo spazio in TOT parti?
    A me invece servirebbe una soluzione più matematica: il bottone (di 55dp) sta a sinistra e la TextView (che prende lo spazio rimasto) a destra.
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:id="@+id/tableLayout1"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:orientation="horizontal" >
    	<TextView
    		android:layout_marginLeft="5dip"
    		android:textAppearance="?android:attr/textAppearanceLarge"
    		android:id="@+id/text"
    		android:text="@string/errore"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"></TextView>
    	<ImageButton
    		android:id="@+id/share_btn"
    		android:layout_width="55dp" // Use a layout_width of 0dip instead of 55dp for better performance: provando a mettere 0dip ottengo lo stesso risultato
    		android:layout_height="55dp"
    		android:layout_weight="1"
    		android:contentDescription="@string/share"
    		android:src="@drawable/ic_action_share_green" />
    </LinearLayout>
    Casomai come potrei fare con il RelativeLayout?
    Scusami, ma ho cercato di tutto senza trovare nulle

    Grazie mille

  9. #8
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Quote Originariamente inviato da Lucart98 Visualizza il messaggio
    Ho provato ma non funziona.
    Il peso non serve a dividere lo spazio in TOT parti?
    A me invece servirebbe una soluzione più matematica: il bottone (di 55dp) sta a sinistra e la TextView (che prende lo spazio rimasto) a destra.
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:id="@+id/tableLayout1"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:orientation="horizontal" >
    	<TextView
    		android:layout_marginLeft="5dip"
    		android:textAppearance="?android:attr/textAppearanceLarge"
    		android:id="@+id/text"
    		android:text="@string/errore"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"></TextView>
    	<ImageButton
    		android:id="@+id/share_btn"
    		android:layout_width="55dp" // Use a layout_width of 0dip instead of 55dp for better performance: provando a mettere 0dip ottengo lo stesso risultato
    		android:layout_height="55dp"
    		android:layout_weight="1"
    		android:contentDescription="@string/share"
    		android:src="@drawable/ic_action_share_green" />
    </LinearLayout>


    Casomai come potrei fare con il RelativeLayout?
    Scusami, ma ho cercato di tutto senza trovare nulle

    Grazie mille
    Potresti anche usare un TableLayout: nella colonna di sx con peso 0 metti l'immagine, in quella di destra con peso 1 la TextView.
    Per il testo potresti metterlo su più righe, o troncarlo o farlo scorrere a dx.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy