Android,TabLayout计算错误的高度,赢得';不显示布局的底部
我正在我的应用程序中处理一个选项卡活动,但似乎选项卡使用了错误的高度(认为布局比任何设备都高约半英寸),因此任何垂直居中都偏离了低端,我的ScrollView被搞得一团糟,因为屏幕向下滚动的距离不够,看不到视图的底部。我尝试过在我能想到的任何相关类上修补布局和隐藏标签,但没有任何帮助,我在其他任何地方都找不到这个问题。我在AndroidStudio 1.4中为TabLayout活动生成了默认模板 主要活动Android,TabLayout计算错误的高度,赢得';不显示布局的底部,android,view,scroll,tabs,height,Android,View,Scroll,Tabs,Height,我正在我的应用程序中处理一个选项卡活动,但似乎选项卡使用了错误的高度(认为布局比任何设备都高约半英寸),因此任何垂直居中都偏离了低端,我的ScrollView被搞得一团糟,因为屏幕向下滚动的距离不够,看不到视图的底部。我尝试过在我能想到的任何相关类上修补布局和隐藏标签,但没有任何帮助,我在其他任何地方都找不到这个问题。我在AndroidStudio 1.4中为TabLayout活动生成了默认模板 主要活动 <?xml version="1.0" encoding="utf-8"?>
<?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>
梅因酒店
<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>
//其他东西
您必须包装小部件的内容。工具栏在activity\u 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"/>
试试这个,可能有用,,//其他东西不确定你在这里的建议。如果只是为了让scrollview包装内容,那么我已经尝试过了,它不会改变任何东西。你定义了方向吗?如果没有,那么试试看。有关于这方面的更新吗?我也遇到了同样的问题,我自己也在寻找答案。我的猜测是,当片段获得其布局参数时,选项卡尚未设置,因此它认为它将具有减去工具栏的完整活动高度。但是选项卡栏获得了该高度的一部分,而viewpager只是将片段向下滚动一点(这就是app:layout\u behavior=“@string/appbar\u scrolling\u view\u behavior”
行似乎所做的)。不过我还没想好怎么修。
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appbar"/>