标签: android-collapsingtoolbarlayout

如何通过动态单击按钮更改选项卡标题名称?

我 在我的应用程序中使用Collapsed ToolBar和 2 TabFragment (Login,SignUp)。

登录片段同时具有登录和忘记密码的功能。

登录片段

登录 --->标签名称 - 登录

电子邮件 --> 编辑文本

用户名--> 编辑文本

登录按钮 --> 按钮

已有账户?--> TextView --> 如果单击此文本视图,则忘记密码视图设置为可见且此登录视图必须不可见。

FORGOT PASSWORD ---> Tab Title Name 需要更改为 Forgot Password

单击按钮时如何更改此选项卡标题名称?

另一个疑问是我需要在左右滑动此选项卡。

布局代码:activity_tab.xml:

xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    style="@style/Layout_mm"
    android:background="@color/background_2"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        style="@style/Layout_mm"
        android:fitsSystemWindows="true">

        <android.support.design.widget.AppBarLayout
            style="@style/Layout_mw"
            android:fitsSystemWindows="true"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <RelativeLayout
                style="@style/Layout_mw"
                android:layout_marginTop="@dimen/ten_dp">

                <ImageView
                    android:id="@+id/header"
                    android:layout_width="match_parent"
                    android:layout_height="170dp"
                    android:background="@drawable/green_slide"
                    android:fitsSystemWindows="true"
                    android:scaleType="centerCrop"
                    app:layout_collapseMode="parallax" />

                <de.hdodenhof.circleimageview.CircleImageView
                    android:id="@+id/imgProfile"
                    android:layout_width="@dimen/eighty_dp"
                    android:layout_height="@dimen/eighty_dp"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:layout_marginTop="@dimen/five_dp"
                    android:src="@drawable/login_logo" />
            </RelativeLayout>

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs" …
Run Code Online (Sandbox Code Playgroud)

tabs android fragment android-collapsingtoolbarlayout

1
推荐指数
1
解决办法
6512
查看次数

在 CollapsingToolbarLayout 中折叠时如何删除透明的工具栏填充

我在我的应用程序中使用 CollapsingToolbarLayout 但是当它折叠时,工具栏中有一个 marginLeft 和 marginRight 如下图所示。
当我将工具栏背景设置为不透明时,例如红色,它看起来很正常。
那么我应该如何去除边距?
带有边距的错误工具栏

我希望它在下面,但背景是透明的

我的 xml 代码是

    <android.support.design.widget.AppBarLayout
    android:id="@+id/appbarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/transparent">
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:collapsedTitleGravity="center_horizontal"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:expandedTitleGravity="center_horizontal"
        app:statusBarScrim="@color/transparent"
        app:contentScrim="@color/transparent"
        app:expandedTitleTextAppearance="@style/CollapsingToolbarLayoutExpandedText"
        app:collapsedTitleTextAppearance="@style/CollapsingToolbarLayoutCollapsedText"
        app:expandedTitleMarginTop="0dp"
        app:expandedTitleMarginBottom="20dp">

        <View
            android:id="@+id/venueImage"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="0.7"/>


        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/transparent"
            android:layout_marginTop="@dimen/status_bar_height"
            app:layout_collapseMode="pin"
            app:contentInsetLeft="0dp"
            app:contentInsetRight="0dp"/>

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

android toolbar android-collapsingtoolbarlayout

1
推荐指数
1
解决办法
1554
查看次数

使用TranslucentNavigation的Snackbar和CollapsingToolbarLayout

我已经从Android Studio Templets创建了一个带滚动活动的应用来测试我的主应用程序的编码是否会影响该行为,所以我只是添加到代码中:

<item name="android:windowTranslucentNavigation" tools:targetApi="kitkat">true</item>
Run Code Online (Sandbox Code Playgroud)

这显示了导航栏后面的Snackbar作为这个截图(PS:我正在使用Xstane在我的手机上重新设计我的导航栏,但我认为这不会影响代码因为我尝试了TranslucentNavigation与Snackbar没有CollapsingToolbarLayout并且效果很好)

在此输入图像描述

该应用程序正在支持

  • windowTranslucentNavigation
  • 小吃店
  • CollapsingToolbarLayout
  • FloatingActionButton

这是主要的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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".testscanbarwithcollapsing.ScrollingActivity"
>

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay"
    >

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            />

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

<include layout="@layout/content_scrolling"/>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="bottom|end"
    app:srcCompat="@android:drawable/ic_dialog_email"
    />
Run Code Online (Sandbox Code Playgroud)

更新:这是显示Snackbar的FloatingButton的onClick代码(此代码位于主要活动的onCreate中)

fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            fabProgressCircle.show();
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show(); …
Run Code Online (Sandbox Code Playgroud)

android floating-action-button android-snackbar android-collapsingtoolbarlayout

1
推荐指数
1
解决办法
2741
查看次数

如何调整折叠工具栏的左边距?

我正在使用折叠工具栏,折叠时它看起来像这样......

在此处输入图片说明

我一直在试图弄清楚如何控制左边距,在图中用黄色标记。这里有些人建议我使用,app:contentInsetStart="0dp"但这对我没有任何作用。有人有线索吗?我已经尝试了几乎所有东西,在工具栏、CollapsingToolbar 和 AppBarLayout 上。

android android-toolbar android-collapsingtoolbarlayout

1
推荐指数
1
解决办法
646
查看次数

使用 ImageView 以及底部的自定义布局构建 CollapsingToolbar

这就是我想要实现的,在 CollapsingToolbar 中的图像下方会有一个自定义布局,该布局将包含几个视图项。1

所需的行为是,在滚动时,底部布局将逐渐淡出和消失,顶部的图像将缩小尺寸并固定为工具栏。

我已经使用一个图像构建了一个 CollapsingToolbar 并且它工作正常。虽然我坚持在底部添加自定义布局,如上所述。

我是否需要跳过 CollapsingToolbar 并使用其他东西,例如 MotionLayout ?

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
tools:ignore="RtlHardcoded">


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

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/main.collapsing"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

        <com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/sdv_add_iamge_header"
            android:layout_width="match_parent"
            android:layout_height="160dp"
            app:overlayImage="@color/trans_black"
            android:tint="#11000000"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="0.5"
            app:actualImageScaleType="centerCrop"/>


        <FrameLayout
            android:id="@+id/main.framelayout.title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginTop="230dp"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="0.2"
            app:layout_scrollFlags="scroll">

            <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            </RelativeLayout>
        </FrameLayout>


        <android.support.v7.widget.Toolbar
            android:id="@+id/main.toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin">
                <ImageView
                    android:id="@+id/btn_back"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/back"
                    style="@style/Widget.AppCompat.ActionButton"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true" />

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

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


        <com.jude.easyrecyclerview.EasyRecyclerView
            android:id="@+id/list"
            android:name="com.socialinfotech.feeedj.TimeLineActivities.ViewCompanyDetailsActivity"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layoutManager="LinearLayoutManager"
            android:scrollbars="none"
            app:behavior_overlapTop="30dp"
            app:layout_progress="@layout/view_progrss" …
Run Code Online (Sandbox Code Playgroud)

java xml android android-collapsingtoolbarlayout android-motionlayout

1
推荐指数
1
解决办法
1113
查看次数

向上滚动时使工具栏变为透明,并在向下滚动时使其可见

当我们向下滚动RecyclerView时,我只想让android.support.v7.widget.Toolbar变得透明,当我们向上滚动时清晰可见

这是我的代码

<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/coordinatorlayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbarlayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar1"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="#ae43ff"
        />
    <ImageView
        android:id="@+id/imageview1"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:src="@drawable/unnamed"
        android:scaleType="center"
        app:layout_scrollFlags="scroll"
        />

    <!--app:layout_scrollFlags="scroll|enterAlways"-->

    <!--app:layout_collapseMode="parallax"
    app:layout_collapseParallaxMultiplier="0.7"-->
</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerview1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:background="#6fffc6">

</android.support.v7.widget.RecyclerView>
Run Code Online (Sandbox Code Playgroud)

而我正在获得的输出

在此输入图像描述

我尝试了许多不同的方法,但它不能按我的意愿工作.

我不想要我们在android.support.design.widget.CollapsingToolbarLayout中得到的效果

我想要这个视频中显示的效果

android android-toolbar android-collapsingtoolbarlayout android-appbarlayout

0
推荐指数
1
解决办法
5325
查看次数

将 imageView 锚定到折叠工具栏

在此输入图像描述

在此图像中,他们实现了一个带有视差 ImageView 的折叠工具栏和一个锚定到工具栏的 FAB。在我正在制作的应用程序中,我需要锚定 ImageView 而不是浮动操作按钮,同时仍然保留所有淡出和淡入动画。我该怎么做呢?

我现在的

活动主文件

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

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

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginBottom="32dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/random"
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/anim_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"/>

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

<android.support.v7.widget.RecyclerView
    android:id="@+id/scrollableview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<com.example.sudarshan.testapp.MLRoundedImageView
    android:layout_width="152dp"
    android:layout_height="152dp"
    app:layout_anchor="@+id/bar"
    app:layout_anchorGravity="bottom|center"
    android:id="@+id/circularImage"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

ImageView 被锚定,但它不会像 FAB 那样消失并重新出现。

android floating-action-button android-toolbar android-collapsingtoolbarlayout

0
推荐指数
1
解决办法
2406
查看次数

如何在列表视图滚动时隐藏工具栏?

这是我的布局 xml 代码

我已经有了 listview 滚动侦听器的回调,但如果我这样做

  collapsingToolbarLayout.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

它的简单隐藏工具栏代替滚动效果,但我想要滚动效果请帮助。

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

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:visibility="gone"
        app:layout_collapseMode="pin"
        app:layout_scrollFlags="scroll|exitUntilCollapsed" />
</android.support.design.widget.AppBarLayout>

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/id_toolbar_container">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/id_appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:elevation="0dp">

        //This is the toolbar which i want to hide on scroll of listview
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="enterAlwaysCollapsed">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/white">

                <android.support.design.widget.TabLayout
                    android:id="@+id/tabs"
                    android:layout_width="wrap_content"
                    android:layout_height="?attr/actionBarSize"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_marginTop="5dp"
                    app:tabMinWidth="75dp"
                    app:tabIndicatorColor="@color/deep_blue"
                    app:tabSelectedTextColor="@color/background"
                    app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
                    app:tabTextColor="@color/myGrey" />

            </RelativeLayout>
        </android.support.design.widget.CollapsingToolbarLayout>

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

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

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android toolbar android-collapsingtoolbarlayout

0
推荐指数
1
解决办法
1990
查看次数

使用CollapsingToolbarLayout在嵌套布局中破坏Animate布局更改

我的活动中有以下布局:

CoordinatorLayout ?? AppBarLayout ? ?? CollapsibleToolbarLayout ? ?? TextView (parallax) ? ?? TextView (pin) ? ?? Toolbar ?? NestedScrollView ?? LinearLayout ?? TextView 1 ?? LinearLayout 1 ? ?? 1 to n Views (dynamically added/removed) ... ?? TextView n ?? LinearLayout n ?? 1 to n Views (dynamically added/removed)

当我将Layouts中的animateLayoutChanges设置为true时,无论何时在NestedScrollView内部发生布局更改,结果布局都会与AppBarLayout的内容重叠.

我尝试了这个stackoverflow评论中的建议,但它没有帮助.

有没有人有类似/相同的问题,并找到了解决方案?

android android-animation android-layout android-collapsingtoolbarlayout android-appbarlayout

0
推荐指数
1
解决办法
1395
查看次数

可折叠工具栏中带有imageview的半透明状态栏

我正在尝试将图像设置为可折叠工具栏,该工具栏显示在> 23api的半透明状态栏后面.但即使在styles.xml中将状态栏设置为透明并在活动的清单中应用主题并在imageview和collapsingToolbar的布局中设置fitSystemWindows,图像也不适用于状态栏.xml和截图如何:

Layout.xml

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:fitsSystemWindows="false"
    android:layout_height="match_parent" >

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="250dp" >

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginEnd="64dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:fitsSystemWindows="true"
                android:id="@+id/movie_banner"
                app:layout_collapseMode="parallax" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />

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

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

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffe5e5e5"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingTop="10dp">
            <android.support.v7.widget.RecyclerView
                android:id="@+id/movies_details_recycler"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scrollbars="vertical"/>
        </LinearLayout>

    </android.support.v4.widget.NestedScrollView>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        app:layout_anchor="@id/app_bar_layout"
        app:layout_anchorGravity="bottom|right|end"
        style="@style/FabStyle"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

styles.xml

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:textColorPrimary">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是它在我的手机上的样子.

图像未在透明状态栏上设置

--------------------更新--------------------雅克森的答案部分解决了.现在,当工具栏向上滚动时,图像被设置为状态栏,但是一旦完全向上,我看到如下图所示.请注意,操作栏也有所提升.我需要实现这样的目标:图像设置在状态栏上 在此输入图像描述

xml android android-coordinatorlayout android-collapsingtoolbarlayout

0
推荐指数
1
解决办法
3733
查看次数

CollapsingToolbarLayout contentScrim被忽略?

我正在使用CollapsingToolbarLayout在文章没有折叠时显示文章的封面图片,为此我在我的Activity中使用了setBackground.它曾用于仅在未折叠时显示图像,然后在我滚动一点后转动我的应用程序原色,但现在它只是将图像显示为工具栏背景.这是我的布局(基本上只是android滚动活动示例布局):https://gist.github.com/anonymous/7c68a84e40568d276fd329370e5224fa
在我的代码中我只是打电话:

findViewById(R.id.viewarticle_appbarlayout).setBackground(image);
Run Code Online (Sandbox Code Playgroud)

android android-collapsingtoolbarlayout

0
推荐指数
1
解决办法
2458
查看次数

折叠工具栏布局的渲染问题

我有一个项目,其中一个片段使用折叠工具栏布局。直到最近,一切都很好。但上次我在 Android Studio 中遇到了折叠工具栏布局的渲染问题。例如下面的布局示例:

<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <com.google.android.material.appbar.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|snap|exitUntilCollapsed"
        app:title="@string/app_name">

        
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:scaleType="centerCrop"
            android:src="@drawable/favorite"
            app:layout_collapseMode="parallax" />
        
        <androidx.appcompat.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />

    </com.google.android.material.appbar.CollapsingToolbarLayout>

</com.google.android.material.appbar.AppBarLayout>

<androidx.core.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
    
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lineSpacingExtra="8sp"
        android:padding="16dp"
        android:text="this is text"
        android:textSize="20sp" />
</androidx.core.widget.NestedScrollView> </androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

问题是 NestedScrollView 在 Android Studio 中渲染后隐藏,有时在我删除下一个提示时出现:

应用程序:layout_behavior =“@ string / appbar_scrolling_view_behavior”

但它出现在片段的左上角。Android Studio 显示以下错误:

java.lang.NoClassDefFoundError: Could not initialize class androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.updateAccessibilityActions(AppBarLayout.java:1882)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.setHeaderTopBottomOffset(AppBarLayout.java:2118)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.setHeaderTopBottomOffset(AppBarLayout.java:1446)
at com.google.android.material.appbar.HeaderBehavior.setHeaderTopBottomOffset(HeaderBehavior.java:158)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.onLayoutChild(AppBarLayout.java:1781) …
Run Code Online (Sandbox Code Playgroud)

render android-layout android-studio android-collapsingtoolbarlayout android-nestedscrollview

0
推荐指数
1
解决办法
377
查看次数