删除导航栏上方不必要的空白
Posted
技术标签:
【中文标题】删除导航栏上方不必要的空白【英文标题】:Remove unnecessary white space above navigation bar 【发布时间】:2021-02-23 15:23:10 【问题描述】:如何删除导航栏和布局之间不必要的空白(请参阅屏幕截图)?在 android studio 中,没有显示空白,但是在运行应用程序时,这个不需要的空白会自动添加。我在两个真正的安卓设备和模拟器上测试过,结果是一样的。
布局 XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_
android:layout_
android:focusable="false"
android:focusableInTouchMode="false"
android:orientation="vertical"
android:visibility="visible"
android:weightSum="1"
tools:context="com.test.test.MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_
android:layout_
android:layout_weight="0.9"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:visibility="visible" />
<HorizontalScrollView
android:layout_
android:layout_
android:layout_weight="0.1"
android:background="@color/blueui"
android:fillViewport="true">
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn1"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
<Button
android:id="@+id/btn2"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn2"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
<Button
android:id="@+id/btn3"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn3"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
<Button
android:id="@+id/btn4"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn4"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
<Button
android:id="@+id/btn5"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn5"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
<Button
android:id="@+id/btn6"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/button_background"
android:clickable="true"
android:focusable="true"
android:text="@string/btn6"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12sp" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
应用主题
<resources>
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
</resources>
【问题讨论】:
【参考方案1】:这是由于 HorizontalScrollView
滚动条的位置,如果您想使用相同的代码但让白色区域消失,您可以将 layout_weight
更改为 0.11,它可能会解决您的问题,但可能会破坏显示按钮图像。
<HorizontalScrollView
android:layout_
android:layout_
android:layout_weight="0.11"
android:background="@color/blueui"
android:fillViewport="true">
.....
</HorizontalScrollView>
【讨论】:
您好,谢谢。是的,但是我尝试通过将 android:layout_marginBottom="-1dp" 添加到 root linearayout 来进行类似的尝试,但是在 android studio 中,布局位于导航栏的顶部,我猜这将导致未来的问题。(不确定每个屏幕都会如何尺寸可用)。逻辑上权重必须等于 1 不是吗? :) 有人说负边距是一种可行的解决方案,而另一些人则说不是。您可以查看这篇文章以获得不同的观点:***.com/q/10673503/2335336。只要您的视图在负值中没有“可点击”按钮/对象,我认为这应该不是问题。以上是关于删除导航栏上方不必要的空白的主要内容,如果未能解决你的问题,请参考以下文章