android - 如何设置适合任何屏幕高度的布局?

标签 android android-layout android-emulator android-widget

我的应用程序有一些布局问题。 这是我的应用布局:

<?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 那么为什么图像从底部和顶部裁剪???

最佳答案

为每个按钮赋予相同的权重,它们将自动共享高度。

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

关于android - 如何设置适合任何屏幕高度的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7633382/

相关文章:

android - WhatsApp 是否使用 GCM 进行推送通知?

java - 如何根据客户端的分辨率调整应用程序组件的大小?

android - Android 模拟器中机器的 IP 地址

java - 在不设置的情况下显示布局边界

android - 尝试在 SurfaceView 中设置时相机预览拉伸(stretch)

android - 如何修复 Android 模拟器中的 "Fail to connect to camera service"异常

android-emulator - 在 SDK 模拟器上更新 Android 系统 WebView

android - 具有水平 ScrollView android的垂直 ListView

android - 为什么 Setvisibility() 在自定义 View 中不起作用?

android - 如何在android中实现下拉刷新?