Creazione di multi- schermo di sostegno app android

? Jay Vyas @ | Original: StackOverFlow
---

Io sono la creazione di un app in Android che devono supportare più schermi .

A questo scopo ho letto molte risposte e quello che mi piace di più è stato che io possa creare diverse cartelle nella cartella res seguendo nome ,

Per piccoli schermi di layout - piccola ,

Per grandi schermi di layout -large ,

Per extra grandi schermi layout xlarge

e devo creare diversi layout per diversi schermi con lo stesso nome . Per es mylayout.xml

e devo mettere seguente codice nel file manifest.XML

<supports-screens android:smallScreens="true" 
      android:normalScreens="true" 
      android:largeScreens="true"
      android:xlargeScreens="true"
      android:anyDensity="true" />

e, infine, ho solo bisogno di scrivere righe seguenti nel mio file di attività ,

  setContentView(R.layout.mylayout);

Ora, quando faccio funzionare questa applicazione in schermi di dimensioni diverse che dovrebbe acquisire layout da diverse cartelle di cui alla risoluzione dello schermo .

Ma questo non sta accadendo nel mio case.It richiede solo layout definito nella cartella layout.

Si prega può qualcuno mi spiega perché ciò avvenga e come posso risolvere questo problema in modo che la mia applicazione può funzionare in modo efficace su tutti gli schermi di dimensioni .

---

Top 5 Risposta

1Arun Antoney @

poi plaese provare nome come questo Layout - sw320dp, layout sw480dp, layout sw600dp, layout sw720dp invece di Layout - piccole, layout grande ......

2Exbury @

In valori sui nomi di cartelle convenzione come layout-small funziona solo per apparecchi con api version less than 3.1 . È necessario creare un file con valori di denominazione come layout-sw600dp per il livello di api maggiore di 3.1 . leggere questo http://developer.android.com/guide/practices/screens_support.html3.1api

Creazione di multi- schermo di sostegno app android come questo è necessario creare layout sw600dp, layout sw720dp per ogni tipo di dispositivi . layout sw600dp significa questo layout funziona per i dispositivi con larghezza minima di 600dp Se si dispone di layout 600dp e cartelle layout sw720dp . prima cartella Layout funziona per i dispositivi con piccola larghezza 600dp ( tablet da 7 pollici ) a 720dp e seconde opere per dispositivi con piccoli larghezza sopra 720dp ( tablet da 10 pollici ) .

Se la versione minima richiesta è superiore a 3.1 non è necessario avere   Layout - piccolo, cartelle layoutxLarge . altrimenti dovete considerare   entrambi i tipi di fromats di layout .

3Sethu @

Fare riferimento sotto il collegamento:

http://developer.android.com/guide/practices/screens_support.html Per diverse dimensioni dello schermo, che segue è un elenco di directory di risorse in un'applicazione che fornisce diversi modelli di layout per schermi di dimensioni diverse e diverse drawable bitmap per gli schermi ad altissima densità piccola, media, alta, e . è possibile utilizzare diverse dimensioni dei file di layout nella cartella res, variabili anche per le immagini disegnabili base alla densità ..

  res/layout/my_layout.xml             // layout for normal screen size ("default")
  res/layout-small/my_layout.xml       // layout for small screen size
  res/layout-large/my_layout.xml       // layout for large screen size
  res/layout-xlarge/my_layout.xml      // layout for extra large screen size
  res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

Creazione di multi- schermo di sostegno app android       res / drawable - MDPI / my_icon.png // bitmap per la densità media       res / drawable - hdpi / my_icon.png // bitmap per alta densità       res / drawable - xhdpi / my_icon.png // bitmap per alta densità in più

<compatible-screens>
    <screen
        android:screenDensity="ldpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="large" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="xlarge" />        
</compatible-screens>

E seguita da qualsiasi attività utilizzare queste righe ..

Android : configChanges = " orientamento | Screensize | keyboardHidden "

4Sanjeev C @

Ecco un breve elenco di controllo su come si può garantire che l'applicazione visualizza correttamente su diversi schermi :

Utilizzare wrap_content, fill_parent, unità dp o quando si specifica le dimensioni in un file di layout XML . Non utilizzare valori hard coded pixel nel codice dell'applicazione (.java file ) . Non usare AbsoluteLayout (è deprecato in Android 1.5 ) . Si dovrebbe invece usare RelativeLayout, che utilizza il posizionamento relativo a deporre le proprie osservazioni figlio . Fornire drawable bitmap alternative per differenti densità dello schermo .

Prendere tempo e leggere questi http://developer.android.com/guide/practices/screens_support.html o per avere una migliore idea vedere http://developer.android.com/guide/topics/resources/providing-resources.html #BestMatch in modo da sapere dove collocare le risorse .