0

我的应用程序存在问题,在不同设备上使用时按钮布局的间距不均匀。

如图所示,第一个屏幕截图显示了在较旧、屏幕较小的 Android 智能手机上均匀分布的布局。

在此处输入图像描述

来自 Nexus 4 的第二个屏幕截图显示了底部按钮下方不均匀的大空白区域。

在此处输入图像描述

我以为我已经将布局设置为均匀,但似乎不是。

更新:如何使用其中的两个线性布局设置滚动视图。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="84dp"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imgLink"
        android:layout_width="78dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:src="@drawable/appointmentmanimenuicon" />



    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:gravity="center"
        android:text="Appointments"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="30sp" />
</LinearLayout>

     <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true">


   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:orientation="vertical" >

    <Button
        android:id="@+id/btnaddAppoint"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="50dp"
        android:drawableLeft="@drawable/appointmentmenu"
        android:src="@drawable/appointmentmenu"
        android:text="Add Appointment"
        android:layout_weight="1" />

    </LinearLayout>

       <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:orientation="vertical" >
    <Button
        android:id="@+id/btnviewAppoint"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="50dp"
        android:drawableLeft="@drawable/appointviewicon"
        android:src="@drawable/appointviewicon"
        android:text="View Appointments"
        android:layout_weight="1" />
</LinearLayout>
</ScrollView>
</LinearLayout>
4

2 回答 2

1

带有按钮的嵌套线性布局具有 400dp 的固定高度。在小型设备上,这在底部留下的空间比在较大的 nexus4 上要少。

如果您使用按钮更改线性布局以使用高度值 fill_parent 它应该将按钮均匀地放置在标题(联系人)下方父布局中剩余的空间中。

于 2013-08-15T20:18:19.297 回答
0

您的第二个 LinearLayout 的固定高度为 400dp。该布局的底部边缘将始终为 484dp(考虑到第一个 LinearLayout),并且在任何大于 484dp 高度的屏幕上都会留下额外的空间。

我不完全清楚你想要的布局是什么,但相信你想要的是在父 LinearLayout 中居中第二个 LinearLayout。为此,请android:layout_gravity="center_vertical"像这样添加:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:orientation="vertical"
    android:layout_gravity="center_vertical" >

您还应该考虑删除 ScrollView,因为该内容永远不需要滚动。

于 2013-08-15T20:13:49.140 回答