草庐IT

Android AppBarLayout 将 ViewPager 下推

coder 2023-11-23 原文

我有以下 xml 文件,其中包含 1)Toolbar 2)TabLayout 3)Custom View 和 4)ViewPager。当我将 ToolbarTabLayoutCustom View 放入 AppBarLayout 时,它会推送 ViewPager像这样下去:

xml:

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


    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_tool_bar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleTextAppearance="@style/Widget.AppCompat.ActionBar.TabText"
            app:layout_scrollFlags="scroll|enterAlways"
            app:statusBarScrim="?attr/colorAccent">


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar_alt"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/primary_color"
                android:minHeight="?attr/actionBarSize"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:layout_collapseMode="none"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">


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

        <android.support.design.widget.TabLayout
            android:id="@+id/feed_sliding_tabs_alt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabSelectedTextColor="@color/accent_color"
            app:tabTextColor="@color/accent_color_per_70" />

        <LinearLayout
            android:id="@+id/activity_feed_fl_canli_skor"
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:background="@drawable/mac_back"
            android:orientation="vertical">


        </LinearLayout>

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

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


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/floating_action_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:src="@drawable/ic_feed_new_post"
        android:theme="@style/FabTheme"
        android:visibility="invisible"
        app:backgroundTint="@color/primary_color"
        app:borderWidth="0dp"
        app:layout_anchor="@id/feed_coordinator_layout"
        app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>

当我向下滚动时,Toolbar 被隐藏,这很好。但是我的 ViewPager 溢出主屏幕并且 ViewPager 的底部不可见。我可以尝试什么?

当我向上滚动时,Toolbar 变得不可见并且 ViewPager 被拉起并在屏幕上完全可见。但是 Toolbar 只响应 ViewPager 第一页的滚动。 技巧:现在我将 paddingBottom 放在 ViewPager 中的框架中

最佳答案

这不是一个实际的解决方案,但暂时我在 View 寻呼机及其工作中添加了这行代码:

android:paddingBottom="?attr/actionBarSize"

所以我的完整布局是:

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

<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:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/AppTheme.PopupOverlay">

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

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

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

    <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:paddingBottom="4dp"
        android:paddingTop="4dp" />

</android.support.v4.view.ViewPager>

<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="@mipmap/ic_search" />

关于Android AppBarLayout 将 ViewPager 下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32251062/

有关Android AppBarLayout 将 ViewPager 下推的更多相关文章

  1. android - 如何解决viewpager android中的空对象引用 - 2

    我正在使用查看寻呼机来滑动图像。我可以在日志中获取url,但是当我尝试在ImageView中设置时,出现错误。E/AndroidRuntime(1895):FATALEXCEPTION:mainE/AndroidRuntime(1895):Process:com.project.center,PID:1895E/AndroidRuntime(1895):java.lang.NullPointerException:Attempttoreadfromfieldcom.project.center.views.TouchImageViewcom.project.center.FullScr

  2. java - 使用 ViewPager 在 Fragment 中创建 Listview - 2

    我正在尝试开发一个时间线,就像下面的facebook一样。你看,我有一个ViewPager可以在“fragment”(如提要、个人资料、关于等)之间导航用户。我有“main.xml”,它上面只有viewpager;我还有fragmenta.xml、fragmentb.xml、fragmentc.xml。让我们检查一下fragmenta.xml,我把它放在里面;并制作了singlerow.xml来将这些框创建成这样的时间线;我让它只使用一个静态框。但是当我尝试运行这个结构时,我在Debug模式下遇到错误“找不到来源编辑源查找路径”在我尝试像这样将我的适配器和其他关于listview的东西

  3. java - 自定义 ViewPager 的 PageTitles - 2

    以下是我的XML,我的PagerTitleStrip嵌入到ViewPager中:这是我自定义的PagerAdapter类。publicclassCustomPagerAdapterextendsPagerAdapter{privateint[]image_resources={R.drawable.1,R.drawable.2,R.drawable.3};privateContextctx;privateLayoutInflaterlayoutInflater;publicCustomPagerAdapter(Contextctx){this.ctx=ctx;}@Overridepub

  4. android - ViewPager 项目布局中的 OnclickAction - 2

    我想将setOnClickListener设置到我的ImageView,它位于ViewPagerItemXML中。在我的activityXML中,我有ViewPager和其他几个按钮。在我的ViewPagerItemXML中,我有可点击的ImageView。我想在Activity中单击ImageView后执行一些操作。不幸的是,OnClickListener根本不会触发。LayoutInflaterinflater=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);itemView=inflat

  5. java - 如何使 photoview 库与 viewpager 一起工作 - 2

    我是安卓开发的新手。我正在使用photoview库在我的imageviewer应用程序中启用图像缩放。但是viewpager和缩放功能不能同时工作。当我在FullImageActivity.java中包含photoView.setVisibility(View.GONE);时,viewpager开始工作,当我删除它,缩放功能开始工作。但是zooming和viewpager不能同时工作。我该如何解决?谢谢完整代码可在https://github.com/redviper00/game获得FullImageActivity.java:publicclassFullImageActivity

  6. java - 带有 Fragment 和 ViewPager 的 NullPointerException - 2

    我的代码有一些问题。我在下面的代码中有一个NullPointerException。我正在尝试在3个不同的fragment之间创建滑动。我不明白我的错误在哪里所以请帮助我:p虚拟fragment.java:packagecom.example.testslide;importandroid.os.Bundle;importandroid.support.v4.app.Fragment;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.w

  7. 下推式磁悬浮装置 - 2

    一、方案论证    如图1.1所示,下推式磁悬浮需要三自由度的控制,两组四个线圈提供X轴方向和Y轴方向的矫正力,Z轴方向的推力。当磁性浮子重力和线圈提供的Z轴方向推理大小相等方向相反时,系统平衡,磁性浮子悬浮。正力提供磁性浮子位置的纠正。磁性浮子下方有霍尔传感器,用来检测浮子的位置,反馈给控制器,实现闭环控制。 图1.1 下推式磁悬浮系统结构图   系统框图如下图1.2所示。图1.2 下推式数字磁悬浮系统框图    该磁悬浮系统是由磁铁浮子,载重磁铁,浮力线圈,线圈驱动,电源模块,微控制器,线性霍尔传感器,电压控制电路组成。其中载重磁铁的作用是承受磁铁浮子的大部分重力,而浮力线圈是提供矫正力的

  8. c++ - 如何设计下推式自动机 - 2

    例如,我将如何设计一个接受平衡括号和括号的PDA?([][]),我很难入门。我需要帮助编写针对此问题的转换函数。任何帮助表示赞赏 最佳答案 我通常不会为他们做某人的全部功课,但事实是,即使涉及到自动机,即使我做到了,它也不会给您带来太大帮助,除非您真正了解这些事情的工作原理,而可悲的事实是,学校从一开始就不好教他们。让我们考虑一下该PDA的工作方式,暂时不考虑状态和转换等信息:当我们的PDA得到输入时,它应该像这样工作:如果没有输入:如果堆栈的顶部是空的(通常用一些特殊的值来表示,例如本例中的$),那么我们的PDA会接受该字符串:这

  9. ios - 为什么 Ios viewPager 与 UISearchController 一起崩溃? - 2

    现在我在iOS应用程序开发过程中遇到了一个问题。我使一个viewpagercontrollerview包含几个viewcontroller。每个Viewcontroller都包含tableview。我在这个TableView中使用了UISearchController。但是,每当我单击searchcontroller并滚动标签时,就会发生错误。2016-08-0822:07:11.211ToolManager[3913:121312]***Assertionfailurein-[_UIQueuingScrollView_setWrappedViewAtIndex:withView:],

  10. android - Ionic 3 - 如何实现 viewpager? - 2

    我目前正在使用Ionic3开发一个应用程序,主屏幕包含3个选项卡(ion-tabs)我创建了一个根据用户滑动更改选项卡的功能,但是我的客户要求一个等于WhatsApp的过渡,我不知道要实现这个。我考虑过使用ion-slides但我必须将代码从3个选项卡迁移到单个View,有没有一种方法可以在不更改组件的情况下附加动画? 最佳答案 您可以使用ionic2-super-tabs.这个库可以轻松制作可滑动的选项卡。您必须检查github页面的兼容性以及您应该使用哪个版本。有了这个库,一个基本的例子如下。它与Ionic本身的选项卡几乎相同。

随机推荐