Android:ListView 和 TabWidget:ListView 覆盖 TabWidget

标签 android android-listview android-xml tabwidget android-tabs

我在我的 android 项目中使用 TabWidget,我在 View 中有一个 listView 和一个 FrameLayout。问题是,当 ListView 高于屏幕高度时,Tabs 是不可见的,因为 listview 覆盖了 tabs。

我不知道如何在选项卡上方设置listView。

这是我的看法:

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

    <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="#ffffff"
        android:minHeight="44dp" >

    </FrameLayout>


    <ListView
        android:id="@+id/NewsCategorieslistView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:cacheColorHint="#00000000" 
        android:layout_below="@+id/frameLayout"
        >

    </ListView>

</RelativeLayout>

这是我的标签 View :

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:divider="@null" >

    </TabWidget>

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        >
    </FrameLayout>
</RelativeLayout>
</TabHost>

非常感谢。

最佳答案

我找到了解决方案:

<?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="fill_parent"
    android:layout_height="fill_parent">

    <RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent">

        <FrameLayout android:id="@android:id/tabcontent"
             android:layout_width="fill_parent" 
             android:layout_height="fill_parent"
             android:layout_alignParentTop="true" 
             android:layout_above="@android:id/tabs" />

        <TabWidget android:id="@android:id/tabs"
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true" />

    </RelativeLayout>

</TabHost>

关于Android:ListView 和 TabWidget:ListView 覆盖 TabWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179949/

相关文章:

android - 如何以易于维护的格式组合图像、字符串和整数集

java - 检查用户是否首次使用 Firebase Auth 和数据库登录 Android 应用程序

android - 如何从 Google Play 控制台中提供的堆栈跟踪中调试 Flutter 应用程序的崩溃?

android - ListView 选中的项目不可见

java - 从代码中激活删除键

java - Android EditText 提示使用与 EditText 相同的字体

android - Kotlin Android 扩展生成的函数从未被使用

Android studio 3.6.1 gradle 同步太慢

android - 显示联系人图像的 QuickContactBadge

Android - 单击按钮从 ListView 中删除一行