线性布局上方出现不需要的空间

时间:2018-05-09 20:32:42

标签: android

这是我的LayoutActivity,在LinearLayout之上,其中包括" No,Name,Price和Change 24H。"在我的手机(三星S7)上出现了很大的差距,请看here。在我的Android Studio虚拟机上,没有一个,看起来here。造成这种差距的原因是什么以及如何解决?

我包含LayoutActivity代码:

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


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@android:color/white"
        android:elevation="10dp"
        android:weightSum="3">

        <Button
            android:id="@+id/home_button"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_weight="1"
            android:background="#5078909c "
            android:text="Overview"
            android:textStyle="bold" />

        <Button
            android:id="@+id/portfolio_button"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_weight="1"
            android:background="@android:color/white"
            android:text="Portfolio" />

        <Button
            android:id="@+id/settings_button"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_weight="1"
            android:background="@android:color/white"
            android:text="Settings" />
    </LinearLayout>

    <Button
        android:id="@+id/refresh_button"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginStart="0dp"
        android:text="Refresh" />

    <ListView
        android:id="@+id/CoinList"
        android:layout_width="match_parent"
        android:layout_height="385dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="48dp" >

    </ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_above="@+id/CoinList"
        android:background="@android:color/white"
        android:layout_alignParentEnd="true"

        android:elevation="10dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/Background_for_buttons"
            android:layout_weight="1"
            android:background="#803f51b5"
            android:gravity="center"
            android:text="No"
            android:textColor="#FF000000"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="128dp"
            android:layout_height="30dp"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/Background_for_buttons"
            android:layout_weight="1"
            android:background="#803f51b5"
            android:gravity="center"
            android:text="NAME"
            android:textColor="#ff000000"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="128dp"
            android:layout_height="30dp"
            android:layout_below="@+id/Background_for_buttons"
            android:layout_centerHorizontal="true"
            android:layout_weight="1"
            android:background="#803f51b5"
            android:gravity="center"
            android:text="PRICE"
            android:textColor="#ff000000"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/text_view_test"
            android:layout_width="128dp"
            android:layout_height="30dp"
            android:layout_alignParentEnd="true"
            android:layout_below="@+id/Background_for_buttons"
            android:layout_weight="1"
            android:background="#803f51b5"
            android:gravity="center"
            android:text="CHANGE 24H."
            android:textColor="#ff000000"
            android:textStyle="bold" />

    </LinearLayout>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

您的ListView有一个固定的高度,并与父母的底部对齐。带有标题的LinearLayout会置于ListView之上。因此,基于屏幕的垂直分辨率,LinearLayout和屏幕顶部之间可能存在差异,也可能不存在差距。更具体地说,如果屏幕高于30 + 385 dp,您会看到间隙。

您可能要做的是将标题布局与父标题的顶部对齐,将列表与标题的底部对齐,并使列表的高度为&#34; match_parent&#34;

编辑:没有注意到刷新按钮。您可能还需要输入

android:layout_above="@+id/refresh_button"
<{1}}

上的