7

我正在研究 TabWidget,并且在 TabActivity 和 Tabs 之间有一个空白区域。

我不知道如何删除这个空白请任何人都可以帮我解决我应该如何删除它,我的 tab_main.xml 如下:

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

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1" />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0" />
    </LinearLayout>
</TabHost>

我试图将 TabWidget 的背景颜色设置为 android:color:transparent 但在 Activity 和 Tab 之间仍然存在相同的空白。

我不希望我的活动和选项卡之间有任何分隔空间(可以这样做吗?)

请任何人建议我如何摆脱这个空白。

在此处输入图像描述

4

3 回答 3

1

您显示的输出很可能表明 Margin/Padding 错误,而不是布局错误。您TabWidget或您的FrameLayout任何一个都可能有一个边缘被您正在使用的整体主题继承。

以下很可能会解决问题(注意额外的边距/填充样式):

        <FrameLayout
            android:layout_marginBottom="0dip"
            android:layout_paddingBottom="0dip"
            android:background="@android:color/holo_green_light"
            android:id="@android:id/tabcontent"
            ....
            .... />

        <TabWidget
            android:layout_marginTop="0dip"
            android:layout_paddingTop="0dip"
            android:background="@android:color/holo_blue_light"
            android:id="@android:id/tabs"
            ....
            .... />

您的 FrameLayout 还可以具有任何具有边距/填充的嵌套组件,这反过来可能会导致空白。我android:background在 FrameLayout 和 TabWidget 中都添加了 ,只是为了帮助解决中间是否有空白。

您说您已尝试将 TabWidget 的背景颜色设置为透明 - 但这无济于事,因为如果有边距 - 然后底层活动的背景颜色在透明区域下方显示为白色。如果您将整体RelativeLayout的背景颜色设置为蓝色 - 那么您将看到蓝色穿过。所以修复边距/填充而不是试图隐藏它。

于 2013-06-06T17:57:52.757 回答
0

从您的屏幕截图来看,您似乎正在使用WebView. Webview带有默认值marginand padding> 0。您可以通过覆盖标签或padding使用.marginWebView's bodycss

有关更多详细信息,请参阅以下 SO 问题的答案:

删除 webview 中不需要的空白

于 2013-06-07T00:35:12.927 回答
0

看起来您遇到了与我在项目中遇到的类似问题,请查看项目并尝试实现可绘制的 xml 文件并为您的 TabWidget 提供此项目中给出的特定自定义尺寸。它肯定会为你工作。

于 2013-06-07T10:22:30.353 回答