android - 顶部 LinearLayout 在底部 LinearLayout 之前占用最大空间

标签 android layout android-linearlayout android-relativelayout

首先,这是我的 activity_main.xml 文件的结构:

  • 相对布局
    • 线性布局
      • fragment (谷歌地图)
    • 线性布局
      • 搜索栏
      • TextView
      • 图片按钮

我试图将第二个线性布局(不包含 map 的布局)粘贴到底部,而 map 占据了屏幕上的其余空间(在该布局之前停止)。我目前使用的解决方案在我的 GS3 上运行良好,但第二个 LinearLayout 在较小的屏幕设备上不显示(可能是因为我的第一个 LinearLayout 的定义尺寸 (480dp)?)

我怎样才能做到这一点?

这是我的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/map_layout"
        android:layout_width="match_parent"
        android:layout_height="480dp"
        android:orientation="vertical">

        <fragment
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal" />
    </LinearLayout>

    <LinearLayout
        android:layout_below="@+id/map_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <SeekBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/price_seekbar" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="1€"
            android:progress="3"
            android:max="15"
            android:id="@+id/price_seekbar_value" />

        <ImageButton
            android:id="@+id/advanced_search_image_button"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_gravity="right"
            android:src="@drawable/advanced_search_icon" />

    </LinearLayout>

</RelativeLayout>

谢谢你的建议。

最佳答案

将以下内容替换为您的 XML...

对于第一个LinearLayout,替换这个...

<LinearLayout
    android:id="@+id/map_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/rest_of_layout"
    android:orientation="vertical" >

对于第二个LinearLayout,替换这个...

<LinearLayout
    android:id="@+id/rest_of_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal" >

关于android - 顶部 LinearLayout 在底部 LinearLayout 之前占用最大空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21801404/

相关文章:

android - 无法将android库添加到JCenter

java - 如何布局两种日期格式之间范围的文本

android - 如何将布局分为 3 个部分?

android - 2 个并排且高度相同的 View

html - 带有 CSS 的倾斜列

android - 在android按钮之间放置空间

java - HTTURLConnection setFixedLengthStreamingMode 导致 SSL broken pipe 异常

java - 有哪些选项可用于解决间歇性 Permission Denial SecurityException?

android - 使用 WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH 获取所有 MotionEvents

java - 将单独类中的多个组件添加到另一个类中的 JFrame