Android,TabLayout错误计算高度,不会显示布局的底部

时间:2015-11-02 04:05:54

标签: android view scroll tabs height

我正在处理我的应用中的标签活动,但似乎标签使用了错误的高度(认为布局比任何设备上的高大约半英寸),因此任何垂直居中偏低,我的滚动视图搞砸了,因为屏幕不会向下滚动到足以看到视图的底部。我已经尝试在我能想到的任何相关类上修改layout_height并隐藏选项卡,但没有任何帮助,我无法在其他任何地方找到此问题。我为Android Studio 1.4中的TabLayout活动生成了默认模板。

activity_main

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/appbar_padding_top"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        app:layout_scrollFlags="scroll|enterAlways">

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

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabIndicatorColor="@color/colorPrimaryDark" />

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

<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/ic_youtube_searched_for_white_18dp"
    android:visibility="gone"/>

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

fragment_main

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context="com.example.ggould.flyingfood.HistoryFragment">

<LinearLayout
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

//other stuff

</LinearLayout

</ScrollView>

2 个答案:

答案 0 :(得分:1)

在activity_main上,您可以创建RelativeLayout。将ViewPager和AppBarLayout放在RelativeLayout中并将ViewPager设置为:

<android.support.v4.view.ViewPager
   android:id="@+id/container"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_below="@+id/appbar"/>

答案 1 :(得分:0)

 <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    app:layout_scrollFlags="scroll|enterAlways">

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

你必须为widget.toolbar

包装内容