Come faccio a mostrare i controlli in una posizione fissa per varie risoluzioni dello schermo in Android?

StackOverflow https://stackoverflow.com/questions/1946480

  •  20-09-2019
  •  | 
  •  

Domanda

Come faccio a mostrare i controlli in una posizione fissa per varie risoluzioni dello schermo in Android?

Ho un design dello schermo come di seguito

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:gravity="center_horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="@drawable/img_background_loadbackground">
<TableRow>
<TextView
   android:id="@+id/tv1"
   android:layout_width="fill_parent" 
   android:layout_height="300sp"/>
</TableRow>

<TableRow>
</TableRow>
<ProgressBar 
   android:id="@+id/progressbar" 
   style="?android:attr/progressBarStyleHorizontal" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" />
</TableLayout>

Funziona con la risoluzione HVGA (320x480), la barra di avanzamento appare nella parte inferiore dello schermo, ma se utilizzo un'altra risoluzione (WQVGA432 - 240x432) la barra di avanzamento appare al centro dello schermo.Non sono in grado di mostrarlo in una posizione fissa.

Sto utilizzando il file manifest mostrato di seguito ma nessun output

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

Non ho una soluzione quindi per favore dammi qualche idea per risolvere il problema.

È stato utile?

Soluzione

Se desideri che i tuoi layout funzionino su schermi con risoluzioni diverse, dovresti dimensionarli utilizzando dip come unità.Per esempio:

android:layout_marginRight="10dip"

dip sta per Device Independent Pixel e il loro utilizzo nel layout significa che Android ridimensionerà automaticamente il layout in base al display del dispositivo su cui è in esecuzione l'applicazione.

Puoi leggere di questi nel Supporto di più schermi pagina nella documentazione per sviluppatori Android.Questo documento contiene anche altre opzioni per gestire diversi display, ma penso che lo utilizzino dip è probabilmente il più semplice.

Altri suggerimenti

Dipende da come hai definito il tuo layout:pubblicare il tuo XML di layout aiuterà qui.

Immagino che se nel mezzo hai qualcosa del tipo:

android:layout_gravity="center"

Ma sì, pubblicare il tuo XML sarebbe di grande aiuto!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top