当前位置: 首页 > 知识库问答 >
问题:

Android片段底部有奇怪的空白?

公孙高轩
2023-03-14

我面临着一个奇怪的问题:碎片底部有一个空白,我无法摆脱它。还值得一提的是,如果我单击任何按钮,这个空间就会消失。

感谢您的帮助!请在下面找到屏幕截图和布局代码。

截图

详细活动布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.ogasimli.manat.activity.DetailActivity"
tools:ignore="MergeRootFrame" />

DetailFragment布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.ogasimli.manat.fragment.DetailActivityFragment"
android:background="@color/colorAccent">

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/detail_result_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:visibility="gone"
    tools:visibility="visible">

    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        app:elevation="0dp"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_detail"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.AppBarOverlay"/>

    </android.support.design.widget.AppBarLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_marginTop="?actionBarSize"
        android:weightSum="7">

        <include layout="@layout/detail_chart_grid"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="4.5"/>

        <include layout="@layout/detail_extras_grid"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="2.5"/>

    </LinearLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_share_details"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="24dp"
        android:elevation="8dp"
        android:src="@drawable/ic_share"
        app:layout_anchor="@id/cardview_details"
        app:layout_anchorGravity="top|right|end"
        app:rippleColor="@color/colorPrimary"
        tools:targetApi="lollipop"/>

</android.support.design.widget.CoordinatorLayout>

<LinearLayout
    android:id="@+id/detail_error_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerInParent="true"
    android:orientation="vertical"
    android:visibility="gone">

    <include
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        layout="@layout/error_view"
        android:layout_gravity="center"/>

</LinearLayout>

详图网格布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"  xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/colorPrimary">

<com.github.mikephil.charting.charts.LineChart
    android:id="@+id/linechart"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="10dp"
    android:layout_weight="3"/>

<include layout="@layout/detail_button_grid"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_marginBottom="26dp"
    android:layout_marginEnd="16dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="16dp"
    android:layout_weight="1"/>

</LinearLayout>

详细附加网格布局:

<?xml version="1.0" encoding="utf-8"?>
<!-- Detail Layout for Grid -->
<android.support.v7.widget.CardView
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:id="@+id/cardview_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_gravity="center"
app:contentPaddingLeft="16dp"
app:contentPaddingRight="22dp"
app:cardCornerRadius="16dp"
app:cardBackgroundColor="?colorAccent"
app:cardElevation="0dp">

<android.support.v7.widget.GridLayout
    android:id="@+id/detail_additional_pane"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    app:columnCount="2">

    <TextView
        android:id="@+id/detail_statistic_label_text_view"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:textAllCaps="true"
        android:fontFamily="sans-serif-medium"
        android:textColor="?colorPrimary"
        android:text="@string/detail_statistics_label"
        android:minHeight="48dp"
        android:textSize="18sp"
        app:layout_columnWeight="1"
        app:layout_gravity="fill"
        app:layout_rowWeight="1"
        app:layout_columnSpan="2"/>

    <TextView
        android:layout_height="wrap_content"
        android:text="Current rate"
        android:gravity="center_vertical"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
        android:paddingBottom="5dp"
        app:layout_columnWeight="1"
        app:layout_gravity="fill"
        app:layout_rowWeight="1"/>

    <TextView
        android:id="@+id/detail_current_rate_textview"
        android:gravity="center_vertical"
        android:fontFamily="sans-serif-light"
        android:textColor="@color/colorTextPrimary"
        android:textSize="18dp"
        android:paddingBottom="5dp"
        app:layout_gravity="right"
        tools:text="1.5571"/>

    <TextView
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="Average rate"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
        android:paddingBottom="5dp"
        app:layout_columnWeight="1"
        app:layout_gravity="fill"
        app:layout_rowWeight="1"/>

    <TextView
        android:id="@+id/detail_average_rate_textview"
        android:gravity="center_vertical"
        android:fontFamily="sans-serif-light"
        android:textColor="@color/colorTextPrimary"
        android:textSize="18dp"
        android:paddingBottom="5dp"
        app:layout_gravity="right"
        tools:text="1.567"/>

    <TextView
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="Maximum rate"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
        android:paddingBottom="5dp"
        app:layout_columnWeight="1"
        app:layout_gravity="fill"
        app:layout_rowWeight="1"/>


    <TextView
        android:id="@+id/detail_max_rate_textview"
        android:gravity="center_vertical"
        android:fontFamily="sans-serif-light"
        android:textColor="@color/colorTextPrimary"
        android:textSize="18dp"
        android:paddingBottom="5dp"
        app:layout_gravity="right"
        tools:text="1.602"/>

    <TextView
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="Minimum rate"
        android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
        android:paddingBottom="5dp"
        app:layout_columnWeight="1"
        app:layout_gravity="fill"
        app:layout_rowWeight="1"/>


    <TextView
        android:id="@+id/detail_min_rate_textview"
        android:gravity="center_vertical"
        android:fontFamily="sans-serif-light"
        android:textColor="@color/colorTextPrimary"
        android:textSize="18dp"
        android:paddingBottom="5dp"
        app:layout_gravity="right"
        tools:text="1.5571"/>

</android.support.v7.widget.GridLayout>

</android.support.v7.widget.CardView>

共有3个答案

沈华皓
2023-03-14

在我的案例中,问题不仅在于活动和片段中的协调布局(正如Orkhan Gasimli所建议的,我在片段中改为约束布局)。

SoftInputAssist(当软键盘可见时,Android如何在全屏模式下调整布局)中存在一个问题,用于在全屏模式下调整布局。首先是全屏,然后我改成了通常的风格,出现了空白(id/content比片段容器有更多的空间)。在这种情况下,请删除SoftInputAssist,请参见https://stackoverflow.com/a/52850584/2914140.

督烨赫
2023-03-14

解决了的

正如@marmor所建议的那样,使用Android设备监视器并显示片段的根存在问题。因此,我决定遵循@DanielNugent的建议,对片段进行协调器布局,之后奇怪的空白消失了。

罗允晨
2023-03-14

调试奇怪空间和边距的最佳方法是使用XML快照。

Android Studio中,单击“Android设备监视器”按钮(绿色机器人图标)在设备监视器中,确保您的设备在左窗格中被选中,然后单击“转储视图层次结构”按钮(3个手机图标)。然后,您应该会看到可见屏幕的屏幕截图,创建它的xml在右侧。您可以将鼠标悬停在底部行间距上以查看它在xml中的位置。

 类似资料:
  • 我的屏幕底部有一个奇怪的白色边框。它在左下角,也就是TimeView.java。 这是我的ContentPane.java 这是gameview.java 这是Mainframe.java }

  • 问题内容: 当我将网站更改为 包裹在DIV中的每个img元素都有3px的底边距,即使该边距未在CSS中定义。换句话说,没有样式属性会导致该3px底边距。 现在,假设haha.jpg为50x50,.placeholder设置为display:table。奇怪的是,我观察到的.placeholder的高度尺寸是50x53 … 有人以前遇到过这种异常并修复过吗? 编辑 这是JS FIDDLE 问题答案:

  • 我的主要活动中有一个底部导航栏。通过单击底部导航中的一个选项卡,我想更改视图中的片段。我有以下代码:主要活动: } 我的一个片段: 如果我单击其中一个选项卡,就会显示正确的片段,因此这是可行的。然而,当新片段出现时,我想单击另一个选项卡来显示另一个片段,这就行不通了。底部导航栏不会对单击做出反应。甚至日志。i语句不起作用,因此似乎没有调用导航项SelectedListener。 我对android

  • 这是我的 这是我的文件 这是我的依赖项

  • 我试图实现BFS算法,以找到图中的所有路径(从src和dp)。我使用一个切片来模拟一个队列,但是当我在for循环中追加多个元素时,切片会损坏(追加没有按预期工作)。我不知道为什么。我是新来戈兰的

  • 我试图接近这种设计,我有不同的div与显示内嵌块。我想做的是为所有div保持相同的保证金底部,但似乎div的内容高度会影响每个div顶部的空间。 这是代码和css: 只是印刷和排版行业的虚拟文本 只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一家不知名的打印机在打印时使用了一个厨房 只是印刷和排版行业的虚拟文本。Lorem Ipsum一直是业界的