Articles of android coordinatorlayout

BottomSheetBehaviour setstate没有animation

我用设计库23.0.2尝试了新的BottomSheetBehaviour ,但我认为它太有限了。 当我使用setState()方法更改状态时,底部图片使用广告animation移动到新状态。 如何在没有animation的情况下立即更改状态? 我没有看到公开的方法来做到这一点。

Crosswalk的XWalkView(Webview的替代品)不能与AppBarLayout + CoordinatorLayout一起使用

我正在尝试使用CoordinatorLayout和AppBarLayout实现滚动Toolbar技术(在兄弟子视图中向下滚动时隐藏Toolbar )。 我正在使用Crosswalk的XWalkView (它是一个像WebView一样的视图)。 当使用常规WebView (在NestedScrollView )时,我可以实现想要的效果: 但是,当以相同的方式使用XWalkView时,我无法让它工作。 使用以下XML布局后: 视图甚至没有出现。 删除以下行时 app:layout_behavior=”@string/appbar_scrolling_view_behavior” XWalkView至少显示在整个屏幕上和工具栏顶部。 我该怎么做才能让它发挥作用? 因为它是一个开源我应该能够使它工作…我怀疑它是子类XWalkView并实现一些接口( NestedScrollingChild ?)或通过AppBarLayout.ScrollingViewBehavior CoordinatorLayout.Behavior或AppBarLayout.ScrollingViewBehavior创建自定义行为。 有任何想法吗? BTW XWalkView在内部使用SurfaceView或TextureView来呈现Web内容。

由于支持lib 26.0.0,因此折叠工具栏会出现故障

自Android支持库从版本25.4.0更新到26.0.0(最高27.0.0)后,我在Collapsing Toolbar内部活动中遇到了一些奇怪的行为。 看看这些GIF的不同之处: 25.4.0 26.0.0(+) 向上滚动时,您会看到折叠工具栏的奇怪反弹。 请参阅以下布局的代码片段: 有人遇到同样的问题吗? 这是支持lib bug,还是我做错了什么? 编辑: 只有当您在屏幕上移动时才会发生故障,而不是在拖动时发生 测试你可以拉下面的项目: https : //github.com/aaronbond/CollapsingToolbarLayoutExample并将支持库增加到26及更高

与CoordinatorLayout和CollapsingToolbarLayout结合使用时,共享元素转换不起作用

我的应用程序主屏幕包含图像的网格视图。 当用户选择图像时,使用共享元素转换开始细节活动,该共享元素转换将所选择的网格图像animation化为位于细节活动中的CardView中的配对图像。 升级我的详细视图XML布局以包含CoordinatorLayout以及CollapsingToolbarLayout后,共享元素转换将图像视图移动到详细活动中的错误位置(“enter”活动)。 如果在包含目标图像视图的CardView上方没有CollapsingToolBarLayout,框架似乎会将整个AppBarLayout和内部CollapsingToobarLayout的偏移量和animation放大到图像的大致位置。 通过将activityView (带有transitionName)添加到activity_detail.xml中的3个CardView中的任何一个,可以在Chris Banes的cheesesquare示例应用程序中复制该问题: 然后在CheeseListFragment.java中的onBindViewHolder中设置共享元素转换,如下所示: @Override public void onBindViewHolder(final ViewHolder holder, int position) { holder.mBoundString = mValues.get(position); holder.mTextView.setText(mValues.get(position)); holder.mView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Context context = v.getContext(); Intent intent = new Intent(context, CheeseDetailActivity.class); intent.putExtra(CheeseDetailActivity.EXTRA_NAME, holder.mBoundString); holder.mImageView.setTransitionName(“sharedImage”); ActivityOptionsCompat options = ActivityOptionsCompat. makeSceneTransitionAnimation( getActivity(v.getContext()), holder.mImageView, “sharedImage”); ActivityCompat.StartActivity((MyActivity) context, intent, options.toBundle()); […]

如何通过CoordinatorLayout将TextView移动到工具栏中?

我正在构建一个由工具栏组成的coordinator layout ,一个隐藏在滚动上的相对布局,一个始终位于scrollable list上方的静态布局,以及一个RecyclerView 。 我现在按照我的要求进行布局,如下所示: 绿色是工具栏 橙色是隐藏在滚动上的相对布局 红色是我的静态布局,它将保持在回收者视图之上并向上移动而不是隐藏。 白色是我的RecyclerView 下一个图像是我在滚动回收器视图的整个过程中的样子。 所以我的橙色视图隐藏在我想要的地方,这是完美的。 我唯一缺少的是将“标题1”文本视图转换为工具栏的标题。 我已经看过他们已经用图像做了类似的事情的例子,但是还没有能够通过自定义行为复制它。 我假设这会是什么? 有没有人对我的布局是否需要改变以使其成为可能有任何建议,以及任何有关自定义行为的建议,如果这将是什么? <!—-> <!– –> <!– –> 编辑: 我已经取得了一些进展。 我想我有我想要的布局,并且我已经开始了一个行为。 我能够移动TextView,但它在工具栏后面迷失了。 我想让它放在工具栏的顶部。 我的目标是将标题从黄色块移动到绿色块中。 我是否需要调整布局,以便将textview显示在标题栏的顶部? 新的代码布局 <!—->

CoordinatorLayout(CL)中的NestedScrollView(NSV):NSV在加载时不在顶部

我在CL中使用NSV,以便在NSV向下滚动时让工具栏压缩。 我遇到的问题是我的NSV在加载时没有滚动到顶部,相反,它从NSV的顶部偏移了相当大的余量(我不确定这个间距来自哪里,它不在布局)。 请看一下屏幕截图,第一个显示NSV如何加载,你可以清楚地看到NSV通过比较第二个(当我手动将NSV滚动到顶部时)从顶部向下滚动了很多: 我对此布局进行了一些更新,这导致了这种情况发生,之前,它在顶部加载而没有问题。 但是,我没有添加应该导致这种情况的任何间距。 这是我正在使用的布局: 任何想法,将不胜感激!

突然在CoordinatorLayout Android内的ViewPager Fragment中使用NestedScrollView滚动

我在CoordinatorLayout ViewPager的主要滚动问题。 当前场景: app:appbarScrollingViewBehaviour在ViewPager上ViewPager 。 ViewPager片段将NestedScrollView作为其根父级。 片段布局包含Horizo​​ntal RecyclerView 。 当我通过触摸RecyclerView向上滚动时,应用栏不会滚动,而只会发生嵌套滚动。 当我通过触摸视图的其余部分滚动时, CoordinatorLayout滚动。 6)嵌套滚动也在中途停止并切断内容。 我已经尝试过了: 将ViewPager放在NestedScrollView并将app:appbarScrollingViewBehaviour属性设置为NestedScrollView 。 这完全切断了片段内容,因为RecyclerView无法确定其高度。 在RecyclerView上设置setAutoMeasureEnabled(true) ,仍然无法修复高度。 还有很多其他方法。 请帮助解决这个问题。 在上传的.gif文件中可以看到当前行为。 我还发布了活动布局和片段布局以及RecyclerView行布局的代码。 谢谢 activity.xml: pager_fragment.xml: <!– –>

工具栏与状态栏重叠

我的状态栏出了问题,工具栏重叠了。 我想要的function是,当用户向下滚动ListView时,工具栏会消失在状态栏后面,这样只有选项卡可见,就像在WhatsApp和YouTube应用程序中一样。 为了达到这个效果或获得这个function,我使用了这一行: app:layout_scrollFlags=”scroll|enterAlways” 进入我的android.support.v7.widget.Toolbar ,但我之前说过,状态栏会被工具栏重叠。 感谢任何帮助! 更新: V21 \ styles.xml > false true true @android:color/transparent styles.xml @color/colorPrimary @color/colorPrimaryDark @color/colorAccent false true

使用AppBarLayout的CoordinatorLayout自定义行为

我试图在设置页面上实现类似于Telegram的行为,也就是说,有一个CircleImage,当向上滚动到Topbar标题的左边时,当向下滚动到达扩展的AppBarLayout的中间时。 我的工作基于这个例子: https://github.com/saulmm/CoordinatorBehaviorExample 但在这种情况下,原始编码器会重新创建两次Topbar。 我不想这样做,顶部栏的默认行为是我需要的,我也想利用汉堡包菜单和开箱即用的选项菜单。 这是我的视图层次结构: DrawerLayout | |—CoordinatorLayout |–AppBarLayout | |-CollapsingToolbarLayout | |-ImageView (backdrop image) | |-Toolbar |–NestedScrollView |–ImageView (circleimage avatar) 正如您所看到的,我无法使工具栏布局成为我的CircleImage的兄弟,因此我无法在layoutDependsOn方法layoutDependsOn它们绑定在一起。 我尝试绑定到AppBarLayout基于github repo上的代码,但说实话,我无法理解原始代码中发生的事情。

CoordinatorLayout中的ViewPager中的非滚动片段

我在Activity中的CoordinatorLayout(来自最新版本的Design Library)中使用ViewPager。 此ViewPager的某些片段具有RecyclerView或NestedScrollView等布局,但有些片段只是因为内容较小而无法滚动。 但是在一个以FrameLayout作为根视图的片段中,我需要一个固定在底部的按钮,但它似乎是在屏幕外绘制的。 为了能够看到它,我需要添加一个底部填充等于工具栏的高度。 同样,在元素上设置为“center”的layout_gravity似乎不在此片段的可见区域的中心。 我的理解是CoordinatorLayout只是打算使用滚动内容,这是正确的吗? 因此,对于ViewPager片段,只使用常规ViewGroup(例如FrameLayout,RelativeLayout,LinearLayout)将其底部部分绘制出屏幕外? 在这种情况下,我是否需要从此片段布局中删除此按钮并将其移动到包含CoordinatorLayout的活动布局? 它只需要在第一个片段上显示。