Autore Topic: Problema risoluzioni multiple in diversi dispositivi  (Letto 893 volte)

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Problema risoluzioni multiple in diversi dispositivi
« il: 03 Giugno 2011, 11:30:53 CEST »
0
Come da titolo ho un problema che mi perseguita!
Nel mio programma ho tutti i layout definiti come RELATIVE LAYOUT e tutti gli oggetti hanno dimensioni definite in DIP, solo che inizialmente avevo sviluppato un app basandomi sulla mio cellulare HTC HERO ora ho provato il programma in un tablet ARCHOS con risoluzione 800x480, non ho capito perchè mi si vede tutto spostato in alto a sinistra, come se rimanesse la risoluzione del cellulare! :-o

Non mi dite di leggere la parte relativa alle risoluzione presente nel sito android.developers perchè l'ho già letta! :-(

Aspetto vostra risposta  grazie 1000 in anticipo!

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #1 il: 03 Giugno 2011, 14:18:14 CEST »
0
Ciao, si vede spostato in alto perché ha più spazio a disposizione nello schermo, ovvero ci sono più dp.  :-)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #2 il: 03 Giugno 2011, 14:19:32 CEST »
0
Semplicemente non dovevi dare le dimensioni, dovevi giocare di "fill_parent" e "wrap_content" :)

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #3 il: 03 Giugno 2011, 14:22:41 CEST »
0
Semplicemente non dovevi dare le dimensioni, dovevi giocare di "fill_parent" e "wrap_content" :)
Lo sò infatti non ho dato le dimensioni esterne al relative layout!


Ciao, si vede spostato in alto perché ha più spazio a disposizione nello schermo, ovvero ci sono più dp.  :-)

Si lo sò ci sono più dpi e quindi cosa devo cambiare???

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #4 il: 03 Giugno 2011, 14:24:34 CEST »
0
Lo sò infatti non ho dato le dimensioni esterne al relative layout!

Beh da quello che dici non sembrerebbe :)

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #5 il: 03 Giugno 2011, 14:29:56 CEST »
0
Beh da quello che dici non sembrerebbe :)
Ecco un chiaro esempio di layout che si vede sballato in alto a sinistra!

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" android:background="@drawable/sfondoapp">


<TextView android:textColor="#FFFF" android:textStyle="bold" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView01"   android:text="Scelta Tavolo" android:textSize="45dip" android:layout_centerHorizontal="true" android:layout_marginTop="25dip"></TextView>

<EditText android:id="@+id/EditTextNumeroTavolo" android:layout_width="50dip"  android:phoneNumber="true" android:singleLine="true" android:numeric="decimal" android:layout_height="60dip" android:layout_marginTop="200dip" android:layout_marginLeft="230dip"></EditText>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView02" android:layout_y="200dip" android:textColor="#FFFF" android:textStyle="bold" android:textSize="25dip" android:text="Numero Tavolo" android:layout_marginLeft="25dip" android:layout_marginTop="210dip"></TextView>

<Button android:layout_x="171dip" android:layout_height="65dip" android:layout_width="140dip" android:text="Invia" android:id="@+id/ButtonInviaTavolo"   android:textSize="25dip"   android:onClick="ButtonInviaTavolo" android:layout_marginTop="370dip" android:layout_marginLeft="160dip"></Button>
</RelativeLayout>

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #6 il: 03 Giugno 2011, 14:39:11 CEST »
0
Hai usato si un RelativeLayout ma non propriamente perchè all'interno hai specificato coordinate e misure, cosa da non fare mai e poi mai per non ritrovarsi in situazioni come la tua. Devi rifare tutti i layout utilizzando le tecniche note e arcinote per garantire l'adattamento automatico alla dimensione dello schermo ;)


Buon lavoro

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #7 il: 03 Giugno 2011, 14:44:00 CEST »
0
Ma ho solamente specificato le dimensioni dei tasti e il margine dal top!
Scusa ma se non faccio così come faccio a spostarli????non saprei proprio...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #8 il: 03 Giugno 2011, 14:53:05 CEST »
0
Ma ho solamente specificato le dimensioni dei tasti e il margine dal top!
Scusa ma se non faccio così come faccio a spostarli????non saprei proprio...

Dovresti fare tutto senza indicare esplicitamente la posizione degli elementi e le loro dimensioni ma solamente utilizzando i vari tipi di layout. Ci sono molte guide a riguardo. Guarda questi esempi per capire di cosa parlo:

Relative Layout | Android Developers
Linear Layout | Android Developers

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #9 il: 03 Giugno 2011, 15:07:54 CEST »
0
Se non ho capito male non devo definire le dimensioni di nulla, cioè devo scrivere tipo a destra di..,sotto a.. è così??

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema risoluzioni multiple in diversi dispositivi
« Risposta #10 il: 03 Giugno 2011, 15:33:03 CEST »
+1
Se non ho capito male non devo definire le dimensioni di nulla, cioè devo scrivere tipo a destra di..,sotto a.. è così??

Se devi realizzare allineamenti complicati si usi RelativeLayout specificando appunto la posizione degli elementi relativamente a gli altri elementi e relativamente al contenitore, altrimenti basta utilizzare LinearLayout che dispone gli elementi in sequenza (orizzontale o verticale, a seconda di quello che setti). Ma mai dare le dimensioni e la posizione in termini di dp o pixel!