Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

Addattare app ad ogni schermo

Discussione in 'Development' iniziata da TuxGamer99, 29 Set 2014.

  1. TuxGamer99

    TuxGamer99 Baby Droid

    Iscritto:
    23 Dic 2013
    Messaggi:
    4
    "Mi Piace":
    1
    Salve a tutti, sto cercando di sviluppare una calcolatrice in material design ma non riesco ad adattare i tasti ad ogni schermo. Per esempio sull'editor di eclipse si vede correttamente mentre sul mio telefono (4.3 pollici) i tasti risultano troppo piccoli... Di seguito posto l'xml della mia app:
    Codice:
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background = "#ffffff"
        android:textSize="35dp">
    
    <TextView
        android:id="@+id/twone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="0dp"
        android:background="#5677fc"
        android:text="0"
        android:textSize="35dp" />
    
        <Button
            android:id="@+id/buttonsplit"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/buttonfour"
            android:layout_alignParentRight="true"
            android:onClick="sendMessageSplit"
            android:text="@string/button_split"
            android:background="#ffffff" />
    
        <Button
            android:id="@+id/buttonnine"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/buttonfour"
            android:layout_toRightOf="@+id/buttoneight"
            android:onClick="sendMessageNine"
            android:text="@string/button_nine"
            android:background="#ffffff" />
    
        <Button
            android:id="@+id/buttoneight"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/buttonfour"
            android:layout_toRightOf="@+id/buttonsseven"
            android:onClick="sendMessageEight"
            android:text="@string/button_eight"
            android:background="#ffffff" />
    
        <Button
            android:id="@+id/buttonzero"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/buttonnine"
            android:onClick="sendMessageZero"
            android:text="@string/button_zero" 
            android:background="#ffffff"/>
    
        <Button
            android:id="@+id/buttonfour"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/buttonone"
            android:background="#ffffff"
            android:onClick="sendMessageFour"
            android:text="@string/button_four" />
    
        <Button
            android:id="@+id/buttonless"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/buttonone"
            android:onClick="sendMessageLess"
            android:text="@string/button_less"
            android:background="#ffffff" />
    
        <Button
            android:id="@+id/buttonone"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_below="@+id/twone"
            android:layout_alignParentRight="false"
            android:onClick="sendMessageOne"
            android:text="@string/button_one"
            android:background="#ffffff" />
        
          
    
          <Button
              android:id="@+id/buttonsix"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_below="@+id/buttonone"
              android:layout_toRightOf="@+id/buttonfive"
              android:onClick="sendMessageSix"
              android:text="@string/button_six"
              android:background="#ffffff" />
    
          <Button
              android:id="@+id/buttonsseven"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_below="@+id/buttonfive"
              android:layout_alignParentRight="false"
              android:onClick="sendMessageSeven"
              android:text="@string/button_seven"
              android:background="#ffffff" />
    
          <Button
              android:id="@+id/buttonthree"
              android:layout_width="80dp"
              android:layout_height="100dp"
    		  android:layout_toRightOf="@+id/buttontwo"
    		  android:layout_below="@+id/twone"
              android:onClick="sendMessageThree"
              android:text="@string/button_three" 
              android:background="#ffffff"/>
    
          <Button
              android:id="@+id/buttonfive"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_below="@+id/buttontwo"
              android:layout_toRightOf="@+id/buttonfour"
              android:onClick="sendMessageFive"
              android:text="@string/button_five"
              android:background="#ffffff" />
    
          <Button
              android:id="@+id/buttontwo"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_toRightOf="@+id/buttonone"
              android:layout_below="@+id/twone"
              android:onClick="sendMessageTwo"
              android:text="@string/button_two"
              android:background="#ffffff" />
    
          <Button
              android:id="@+id/buttonplus"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_below="@+id/twone"
              android:layout_alignParentRight="true"
              android:onClick="sendMessagePlus"
              android:text="@string/button_plus"
              android:background="#ffffff"
               />
          
         
    
          <Button
              android:id="@+id/buttonfor"
              android:layout_width="80dp"
              android:layout_height="100dp"
              android:layout_alignBaseline="@+id/buttonzero"
              android:layout_alignBottom="@+id/buttonzero"
              android:layout_toLeftOf="@+id/buttonnine"
              android:onClick="sendMessageFor"
              android:text="@string/button_for"
              android:background="#ffffff"
               />
          
           <com.faizmalkani.floatingactionbutton.FloatingActionButton
            android:id="@+id/fabbutton"
            android:layout_width="72dp"
            android:layout_height="72dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:onClick="fabClicked"
            app:drawable="@drawable/ic_av_equal2"
            app:color="#5677fc" />
    
    </RelativeLayout>
    Grazie in anticipo :)
     
  2. lillogoal

    lillogoal Baby Droid

    Iscritto:
    29 Gen 2013
    Messaggi:
    20
    "Mi Piace":
    0
    Prova ad utilizzare i fragment
     
  3. Dehun

    Dehun Baby Droid

    Iscritto:
    4 Gen 2015
    Messaggi:
    11
    "Mi Piace":
    1
    Ciao!
    Allora secondo me il meglio da fare per una tastiera sarebbe utilizzare:

    LinearLayout grande con android:eek:rientation="vertical" che contiene tutto quello che ti scrivo qui sotto:
    Tanti LinearLayout con android:eek:rientation="horizontal" quante sono le tue righe di bottoni.
    A questo punto per completare il tutto e rendere i bottoni visualizzabili correttamente su ogni device, imposti ad ogni bottone un valore di weight di 1,
    così che ogni bottone si allargherà per riempire la sua parte di spazio dello schermo che gli spetta.

    Un saluto!
     
  4. FrancescoAndroider

    FrancescoAndroider Baby Droid

    Iscritto:
    3 Mar 2014
    Messaggi:
    49
    "Mi Piace":
    3
    il mio consiglio è quello di testare su schermi di diverse dimensioni dato i "dp" ti aiutano fino ad un certo punto.
    Capita che sei hai tanti oggetti e tu testi su un phablet o cmq un 5 pollici (ad esempio nexus 5,S4 ecc) su un 4/4,5 non ci sta tutto.

    Nel caso sviluppa due xml (trovi i diversi layout per i vari schermi come sottocartelle di layout) uno per gli schermi di grosse dimensione e uno per 4/4.5(quelli più piccoli fregatene, c'è nè pochi).

    Buona norma sarebbe ridisegnare l'app per tablet lo fanno in pochi convinti che non serva.

    Purtroppo la grafica (e il marketing) è la cosa più importante per il successo di un'app.

    Se hai ulteriori dubbi, chiedi pure.