标签: android-appbarlayout

AppBarLayout并不总是在向下滚动时重新输入

我在CoordinatorLayout和RecyclerView内使用AppBarLayout,CollapsingToolbarLayout创建了折叠式透明搜索栏。让recyclerView出现在appBarLayout的后面而不是在它的下面是很多技巧。但正在工作。我的问题是,有时候,当我向下滚动时,应用程序栏不会重新进入。我只是在屏幕外不可见。这是我的布局:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    app:expandedTitleMarginBottom="88dp">

<android.support.v7.widget.RecyclerView
    android:id="@+id/services_recycler_view"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    app:behavior_overlapTop="88dp">

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

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:background="@color/color_transparent"
        app:elevation="0dp">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|enterAlways"
        android:fitsSystemWindows="false">

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Search Location or Service"
    android:id="@+id/button_search_bar"/>



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

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

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

解决不重新进入问题的任何帮助将是巨大的。

另一个问题是,因为我使用的app:behavior_overlapTop="88dp"是使recyclerView出现在应用程序栏的后面,所以整个滚动有些奇怪:它首先滚动appBar,然后滚动回收器视图。任何更好的解决方案都是值得欢迎的。

编辑: 我意识到AppBar确实在向下滚动时重新输入,但是是不可见的(我可以单击它,我只是看不到它)。我想我会分享这个新线索=)

android scroll material-design android-recyclerview android-appbarlayout

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

Android工具栏仅在AppBarLayout崩溃时显示标题和副标题

我有AppBarLayout,CollapsingToolbarLayout和工具栏活动。从代码设置标题和字幕。最初,我希望工具栏隐藏并在Appbar布局折叠时显示,使用我的代码可以正常工作(最初隐藏工具栏),但始终显示工具栏标题和副标题。仅在应用栏布局完全折叠时如何显示标题

<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:titleEnabled="false"
        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>
Run Code Online (Sandbox Code Playgroud)

设置标题和字幕

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setTitle("Title");
    getSupportActionBar().setSubtitle("sutitle");
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android android-toolbar android-collapsingtoolbarlayout android-appbarlayout

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

CoordinatorLayout在AppBarLayout和RecyclerView之间增加了空间

CoordinatorLayout增加AppBarLayout和之间的空间RecyclerView.不知道是否它的ToolbarAppBarLayout.

手机上呈现的布局的屏幕截图:

手机上呈现的布局的屏幕截图

Studio上的设计渲染并不是这个空间的方式.

对于发生了什么有什么想法?

代码本身.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  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/activity_home_framelayout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:animateLayoutChanges="true"
  >

  <android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true"
    >

    <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:id="@+id/activity_home_coordinator"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:fitsSystemWindows="true"
      tools:context=".ActivitySignIn">


      <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="0dp"
        >

        <android.support.v7.widget.Toolbar
          android:id="@+id/toolbar"
          android:layout_width="match_parent"
          android:layout_height="?attr/actionBarSize"
          android:background="@color/colorPrimary"
          android:theme="@style/OTGToolbarTheme"
          >

          <TextView
            android:id="@+id/toolbar_title"
            style="@style/textTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="You are logged in"
            android:textColor="@color/colorAccent"/>
        </android.support.v7.widget.Toolbar>

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

      <android.support.v7.widget.RecyclerView
        android:id="@+id/activity_home_articlecontainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:layout_marginTop="0dp"
        android:background="@color/colorPrimary"
        android:clipToPadding="false"
        android:paddingTop="0dp"
        app:behavior_overlapTop="?attr/actionBarSize"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />
    </android.support.design.widget.CoordinatorLayout> …
Run Code Online (Sandbox Code Playgroud)

android android-design-library android-coordinatorlayout android-appbarlayout

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

AppBarLayout setExpanded速度很慢

我在AppBarLayout中使用了CollapsingToolbarLayout,用户可以使用setExpanded(boolean)AppBarLayout中的方法展开或折叠它.

问题是动画很慢而且不流畅.

我正在搜索,似乎支持设计库存在问题(请阅读此问题).但我不能降级我的支持设计库因为Im使用BottomSheetBehavior,我得到这个错误:

Error:(88) No resource identifier found for attribute 'behavior_hideable' in package...
Error:(88) No resource identifier found for attribute 'behavior_peekHeight' in package...
Run Code Online (Sandbox Code Playgroud)

有什么建议可以提高setExpand的速度吗?

android android-support-design android-collapsingtoolbarlayout android-appbarlayout

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

ImageView不会在CollapsingToolbarLayout中淡出

我正在尝试在折叠AppbarLayout时对ImageView产生淡化效果,但图像仍然存在.我已经阅读了其他解决方案,但它不适用于我.我似乎无法找到代码的错误.

<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinatorLayoutProfile"
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="com.bolt.citywatch.ui.fragment.ProfileFragment">

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

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="220dp"
        android:background="@color/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">


        <ImageView
            android:id="@+id/profile_image"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="96dp"
            android:layout_height="96dp"
            android:layout_gravity="center"
            android:src="@drawable/ic_email_white"
            app:layout_collapseMode="parallax"/>


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

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

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

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerViewData"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)

android android-appbarlayout

5
推荐指数
2
解决办法
1472
查看次数

AppBarLayout.onCreateDrawableState NullPointerException:尝试获取null数组的长度

我们遇到的太多这些崩溃主要发生在Samsung 6.0.1设备上.我们甚至使用相同的操作系统版本获得相同的设备,但仍无法自行重现.我们得到的其他膨胀异常可能与他们有关.

这个问题有解决方法吗?

支持lib版本 - 24.2.1

这是完整的堆栈跟踪:

Exception android.view.InflateException: Binary XML file line #21: Binary XML file line #2: Error inflating class android.support.design.widget.AppBarLayout
android.view.LayoutInflater.inflate (LayoutInflater.java:551)
android.view.LayoutInflater.inflate (LayoutInflater.java:429)
com.myapp.profile.ProfileFragment.onCreateView (ProfileFragment.java:163)
android.support.v4.app.Fragment.performCreateView (Fragment.java:2080)
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1108)
android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1290)
android.support.v4.app.BackStackRecord.run (BackStackRecord.java:801)
android.support.v4.app.FragmentManagerImpl.execSingleAction (FragmentManager.java:1638)
android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss (BackStackRecord.java:679)
android.support.v4.app.FragmentPagerAdapter.finishUpdate (FragmentPagerAdapter.java:143)
android.support.v4.view.ViewPager.populate (ViewPager.java:1240)
android.support.v4.view.ViewPager.populate (ViewPager.java:1088)
android.support.v4.view.ViewPager.onMeasure (ViewPager.java:1614)
android.view.View.measure (View.java:20166)
android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6328)
android.support.design.widget.CoordinatorLayout.onMeasureChild (CoordinatorLayout.java:700)
android.support.design.widget.CoordinatorLayout.onMeasure (CoordinatorLayout.java:767)
android.view.View.measure (View.java:20166)
android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6328)
android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1464)
android.widget.LinearLayout.measureVertical (LinearLayout.java:747)
android.widget.LinearLayout.onMeasure (LinearLayout.java:629)
android.view.View.measure (View.java:20166)
com.sothree.slidinguppanel.SlidingUpPanelLayout.onMeasure (SlidingUpPanelLayout.java:804)
android.view.View.measure (View.java:20166)
android.support.v4.widget.DrawerLayout.onMeasure (DrawerLayout.java:1085)
android.view.View.measure (View.java:20166)
android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6328)
android.widget.FrameLayout.onMeasure …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-appbarlayout

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

AppBarLayout ScrollingViewBehavior给我一个"java.lang.RuntimeException:此图包含循环依赖"错误

所以我一直得到一个"java.lang.RuntimeException:这个图包含循环依赖"错误,我很确定是由我从AppBarLayout.ScrollingViewBehavior扩展的行为引起的.我有一个使用此行为的AppBarLayout布局,如果我删除行为,错误消失.这是行为的错误和代码

E/AndroidRuntime: FATAL EXCEPTION: main
Process: yu.heetae.android.mergingtoolbar, PID: 26027
java.lang.RuntimeException: This graph contains cyclic dependencies
at android.support.design.widget.DirectedAcyclicGraph.dfs(DirectedAcyclicGraph.java:164)
at android.support.design.widget.DirectedAcyclicGraph.dfs(DirectedAcyclicGraph.java:172)
at android.support.design.widget.DirectedAcyclicGraph.dfs(DirectedAcyclicGraph.java:172)
at android.support.design.widget.DirectedAcyclicGraph.getSortedList(DirectedAcyclicGraph.java:152)
at android.support.design.widget.CoordinatorLayout.prepareChildren(CoordinatorLayout.java:658)
at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:706)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18794)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at …
Run Code Online (Sandbox Code Playgroud)

android android-appbarlayout

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

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

Android工具栏标题

无法更改工具栏标题,我在中manifeast.xml也设置了标题setTitle("TITLE");

我将标题设置为“ 历史记录和报告”,但它显示不同的标题通知,这是另一个活动标题。

我检查了一下,manifeast.xml 但没有任何变化,任何人都可以帮忙。

这是我的代码

public class Nav_HistoryAndReports extends AppCompatActivity {

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTitle("History & Reports");
    setContentView(R.layout.nav_history_and_reports);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setToolbar(toolbar);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
}

public void setToolbar(Toolbar toolbar) {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new FragmentHistoryAndReports_Visits(), "VISITS");
    adapter.addFragment(new FragmentHistoryAndReports_Visitors(), "VISITORS");
    adapter.addFragment(new …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-titlebar android-appbarlayout

5
推荐指数
2
解决办法
1万
查看次数

在嵌套滚动视图中使用水平回收器视图时,折叠的工具栏布局不起作用

我在折叠工具栏上遇到了一些问题。我有以下布局结构

<CoordinatorLayout>
    <AppbarLayout>
        <CollapsingToolbar>
    <NestedScrollView>
        <HorizontalRecyclerView>
    </NestedScrollView>
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

仅当我尝试滚动NestedScrollView触摸时才会出现问题HorizontalRecyclerView。在那种情况下CollapsingToolbar不会崩溃。只需AppbarLayout停留在该位置并NestedScrollView在其下方滚动即可。我已附上一个视频,其中的所有内容都很清晰。谁能解释这个问题?谢谢。

android-recyclerview coordinator-layout android-collapsingtoolbarlayout android-appbarlayout

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