Как установить этот макет, который подходит для любой высоты экрана? - PullRequest
4 голосов
/ 03 октября 2011

У меня есть проблема с макетом моего приложения.Это макет моего приложения:

<?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>

Здесь я хочу, чтобы эта кнопка полностью соответствовала высоте экраналюбое устройство.Да, я могу показать все кнопки.но я хочу, чтобы между ними было одинаковое пространство, и они должны соответствовать высоте экрана.Так что я должен сделать для этого ??

Отредактировано:

И есть, мой tax_calculator_logo имеет разрешение 600x239, и я установил высоту ImageView как wrap_content и ширину с fill_parent, тогда почемуИзображение обрезается снизу и сверху ???

Ответы [ 2 ]

13 голосов
/ 03 октября 2011

Придайте равный вес каждой из ваших кнопок, они автоматически поделятся ростом.

<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>
2 голосов
/ 03 октября 2011

Для этого мы должны получить ширину и высоту экрана (экрана). Затем с помощью java-кода назначьте высоту. Например,

XML-файл выглядит так

<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"/>   

В классе занятий

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

после setContentView (..);

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

Я думаю, что это может помочь вам ...

...