0

我是 Android 开发的相对论新手,但我确实喜欢认为我很快就会赶上。我一直在重新开发我为垒球队制作的应用程序。以前我使用过 Google 的 App Inventor,但遇到了很多缺点,所以我现在尝试使用 Eclipse 对其进行重新设计。

总之,说到点子上了。我似乎在我的 LinearLayout 中添加了一些多余的填充,我不确定它来自哪里。

我正在使用 TabHost 在顶部创建选项卡(Google 选项卡示例的修改版本)。

布局 XML:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/main_linlay_parent"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  >

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

            <RelativeLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/background"
                >        

                <!-- Allow the "Tabs" to scroll horizontally -->
                <HorizontalScrollView 
                    android:layout_width="match_parent" 
                    android:layout_height="match_parent" 
                    android:fillViewport="true" 
                    android:scrollbars="none" 
                    >

                    <!-- The "Tabs" widget -->
                    <TabWidget
                        android:id="@android:id/tabs"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" 
                        android:background="#000000"
                        />

                </HorizontalScrollView>

                <!-- Provide the "Content" the ability to vertically scroll -->
                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="65dp"
                    >
                    <FrameLayout
                        android:id="@android:id/tabcontent"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        >
                        <LinearLayout
                            android:id="@+id/tabdata"
                            android:orientation="vertical"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                             >
                         </LinearLayout>
                    </FrameLayout>
                </ScrollView>
            </RelativeLayout>
    </TabHost>
</LinearLayout>

我相信这个问题与android:layout_marginTop="65dp"ScrollView 中的有关,但如果我删除它,我的选项卡就会消失(我假设我的选项卡内容只是覆盖在它的顶部)。

最后,这是一个屏幕截图,显示了我正在经历的一个示例(忽略 XML 字符串,我仍然需要按摩那部分。我只是想展示一个带有数据的示例。)。 http://kahunaball.com/android/screenshot_0.jpg

4

1 回答 1

0

在从头开始 XML 并向前迈出一小步后,我能够重新处理 XML 并解决布局中多余的填充问题。

我不是 100% 确定哪个更改产生了影响,但我怀疑改变RelativeLayouttoLinearLayout和移动 theLinearLayoutTableLayout外部是成功的FrameLayout方法。

对于其他可能偶然发现并希望看到我的新 XML 解决问题的人,这里是:

<?xml version="1.0" encoding="utf-8"?>
<TabHost 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background">
        <HorizontalScrollView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true"
            android:scrollbars="none">
            <TabWidget 
                android:id="@android:id/tabs"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#000000" />
        </HorizontalScrollView>
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <HorizontalScrollView 
                android:layout_width="match_parent" 
                android:layout_height="wrap_content" 
                android:fillViewport="true" 
                android:scrollbars="none" >
                <FrameLayout 
                    android:id="@android:id/tabcontent"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent" >
                    <LinearLayout
                        android:id="@+id/tabdata"
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:gravity="center_horizontal" />
                    <TableLayout
                        android:id="@+id/myTableLayout"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="#33B5E5" />
                </FrameLayout>
            </HorizontalScrollView>
        </ScrollView>
  </LinearLayout>
</TabHost>
于 2012-04-25T03:03:22.577 回答