Come impostare questo layout che si adatta a qualsiasi altezza dello schermo?

Ho un certo layout problema riguardante la mia applicazione. Questo è il mio layout di applicazione:

<?xml version="1.0" encoding="utf-8"?> 

 <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/tax_calculator_logo"/> <LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_gravity="center" android:layout_marginTop="10dp" android:layout_marginBottom="10dp"> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> </LinearLayout> 

Qui, voglio impostare questo button tutto per adattarmi all'altezza dello schermo di qualsiasi dispositivo. Sì posso mostrare tutto il button. ma voglio che tutti abbiano spazio equa tra loro e devono essere adatti all'altezza dello schermo. Quindi cosa devo fare per questo ??

  • Android: gli attributi predefiniti per le visualizzazioni personalizzate
  • GridLayout sputa i registri a livello di debug "vincoli incoerenti"
  • Come interrompere l'esecuzione di AsyncTask quando si effettua la commutazione tra le tabs mantenendo le precedenti
  • Conversione di arrays di int a Bitmap su Android
  • In Android: Come faccio a ricevere variables / dati da una schermata all'altra?
  • Come avviare / submit SMS da una pagina Web HTML5 utilizzando le funzioni native dei dispositivi?
  • Modificato:

    E c'è, il mio tax_calculator_logo è di risoluzione 600×239 e ho impostato l'altezza ImageView come wrap_content e la width con fill_parent, quindi perché l'image sta raccogliendo da basso e in alto ???

  • Che cos'è un Android DecorView?
  • Come accedere ad un'image dalla galleria fotografica del telefono?
  • Come posso leggere un file di text in Android?
  • come posso submit i dati da onPostExecute in un'AsyncTask?
  • Accesso a getExternalStorageDirectory
  • Reimpostare il gradle e il plugin di default per lo studio android per essere aggiornati quando crei nuovi progetti?
  • 2 Solutions collect form web for “Come impostare questo layout che si adatta a qualsiasi altezza dello schermo?”

    Dai un peso uguale a ciascuno dei tuoi pulsanti, condivideranno automaticamente l'altezza.

     <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:layout_marginBottom="10dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_marginTop="10dp" android:orientation="vertical" > <Button android:id="@+id/contactUs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Contact Us" android:textSize="20dp" /> <Button android:id="@+id/contactUs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Contact Us" android:textSize="20dp" /> <Button android:id="@+id/contactUs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Contact Us" android:textSize="20dp" /> <Button android:id="@+id/contactUs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Contact Us" android:textSize="20dp" /> </LinearLayout> 

    Per fare questo dobbiamo get la visualizzazione (schermo) width e altezza. Quindi, attraverso il codice java assegnare l'altezza. Per esemplare

    Il file xml è come questo

     <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/tax_calculator_logo"/> <LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_gravity="center" android:layout_marginTop="10dp" android:layout_marginBottom="10dp"> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> <Button android:id="@+id/contactUs" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Contact Us" android:textSize="20dp"/> 

    Nella class Attività

      Display display = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight()/5; 

    dopo setContentView (..);

      imageview.getLayoutParams().height=height; button1.getLayoutParams().height=height; button2.getLayoutParams().height=height; button3.getLayoutParams().height=height; button4.getLayoutParams().height=height; 

    Penso che questo possa aiutarti …

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.