【问题标题】:Android On Screen Buttons overlap with Tabs ApplicationAndroid 屏幕按钮与选项卡应用程序重叠
【发布时间】:2017-08-10 09:04:05
【问题描述】:

我正在构建我的应用程序的布局。它使用默认的 Tabs 布局,片段是一个相对布局,其中包含一个 GridLayout 和一个 TableLayout。 在屏幕底部我有一个视图,它应该使用 android:layout_alignParentBottom="true" 固定在屏幕底部,并且预览显示我想要的布局。 当我在模拟器中运行应用程序时,Android 屏幕按钮重叠并覆盖了我的应用程序的下部。

预览:

模拟器:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp" >

<View
    android:layout_width="fill_parent"
    android:layout_height="4dp"
    android:background="@android:color/white"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_above="@+id/bottomView"
    android:id="@+id/spacer"/>

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="65dp"
    android:columnCount="3"
    android:rowCount="2"
    android:orientation="vertical"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:fitsSystemWindows="true"

    android:background="@android:color/white"
    android:verticalSpacing="0dp"
    android:horizontalSpacing="0dp"
    android:id="@+id/bottomView"
    >


    <TextView
        android:text="Punkte ø"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="18sp" />


    <TextView
        android:text="15.0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="24sp" />
    N<TextView
        android:text="Noten ø"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="18sp" />
    <TextView
        android:text="1.0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="24sp" />


    <TextView
        android:text="Anzahl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="18sp" />
    <TextView
        android:text="5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:textSize="24sp" />

</GridLayout>

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_red_dark"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/textView"
    android:layout_above="@id/spacer"
    android:id="@+id/red"
    >

<GridLayout
    android:id="@+id/grid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="3"
    android:layout_below="@+id/textView"
    android:layout_above="@id/spacer"
    >


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="13"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="14"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="15"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="10"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="11"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="12"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="7"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="8"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="9"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="4"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="5"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="6"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="3"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="AC"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="DEL"
        android:layout_gravity="fill"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:background="@color/colorAccent"
        android:textColor="@android:color/white"

    />

</GridLayout>

</TableLayout>

<TextView
    android:text="15  15  15  15  15"
    android:layout_width="wrap_content"
    android:layout_height="65dp"
    android:id="@+id/textView"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:textAppearance="@style/TextAppearance.AppCompat.Display1"
    android:textAlignment="center"
    android:gravity="center"
    android:background="@android:color/darker_gray" />

如何使白色底视图粘在底部而不被导航按钮重叠?

【问题讨论】:

  • 可能你的问题是android:layout_height="65dp",试试改成android:layout_height="wrap_content"看看会发生什么。
  • @Bruno 我试过了。唯一发生的事情是底部的视图越来越小,但软件导航按钮仍然与应用重叠。
  • 如果你使用线性布局而不是相对布局?

标签: android xml android-layout interface


【解决方案1】:

请用这段代码替换你可以看到完美的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp">

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="65dp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:background="@android:color/darker_gray"
    android:gravity="center"
    android:text="15  15  15  15  15"
    android:textAlignment="center"
    android:textAppearance="@style/TextAppearance.AppCompat.Display1" />


<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/bottomView"
    android:layout_width="fill_parent"
    android:layout_height="65dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="@android:color/white"
    android:columnCount="3"
    android:fitsSystemWindows="true"
    android:horizontalSpacing="0dp"
    android:orientation="vertical"
    android:rowCount="2"
    android:verticalSpacing="0dp">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="Punkte ø"
        android:textSize="18sp" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="15.0"
        android:textSize="24sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="Noten ø"
        android:textSize="18sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="1.0"
        android:textSize="24sp" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="Anzahl"
        android:textSize="18sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_gravity="center"
        android:text="5"
        android:textSize="24sp" />

</GridLayout>


<View
    android:id="@+id/spacer"
    android:layout_width="fill_parent"
    android:layout_height="4dp"
    android:layout_above="@id/bottomView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="@android:color/white" />

<TableLayout
    android:id="@+id/red"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@id/textView"
    android:layout_above="@id/spacer"
    android:background="@android:color/holo_red_dark">

    <GridLayout
        android:id="@+id/grid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/spacer"
        android:layout_below="@id/textView"
        android:columnCount="3">


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="13"
            android:textColor="@android:color/white" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="14"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="15"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="10"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="11"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="12"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="7"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="8"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="9"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="4"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="5"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="6"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="1"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="2"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="3"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="AC"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="0"
            android:textColor="@android:color/white"

            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:layout_rowWeight="1"
            android:background="@color/colorAccent"
            android:text="DEL"
            android:textColor="@android:color/white"

            />

    </GridLayout>

</TableLayout>

【讨论】:

  • 我尝试了您的代码,但似乎无法解决问题。您认为是什么问题以及您是如何尝试解决的?
  • 在我的设备 android 版本 Android M Run Perfect 你使用哪个 android 版本我尝试之后我会帮助你。
猜你喜欢
  • 1970-01-01
  • 2023-02-12
  • 2013-01-24
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多