我刚为浮动动作按钮安装了FutureSimple库,我觉得它很漂亮.虽然它不包含滚动逻辑上的消失,但我喜欢它.但是,我想实现一个快速返回模式,我正在寻找一种简单的方法来实现它.基本上,我设置了一个ObservableListView监听器,如下所示:
listView.setScrollViewCallbacks(new ObservableScrollViewCallbacks() {
@Override
public void onScrollChanged(int i, boolean b, boolean b2) { }
@Override
public void onDownMotionEvent() { }
@Override
public void onUpOrCancelMotionEvent(ScrollState scrollState) { }
});
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种简单的方法可以使我的按钮移动(使用此监听器快速button.animate().translationY(xx)).
因此,每当我向下滚动时,它就会消失,然后当我向上滚动时再次出现.
我看过不同的实现,但我还不太了解它们的主旨(特别是来自makovkastar的"官方"fab库).
PS:我正在使用FutureSimple库,因为它有菜单.
非常感谢,提前,为你非常想要的帮助:)!
我希望通过新的设计支持库实现一定的外观,我不能停止看到一个奇怪的错误.
这是具有所需输出的屏幕录像(没有使用DSL)和使用DSL的输出.
工具栏+标签位于带有viewpager的活动中,recyclelerView位于viewpager中的一个片段内(实际上是适配器,但是你得到了我的观点)
活动代码:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorColor="@color/white"
app:tabTextColor="@color/selected_text"
app:tabSelectedTextColor="@color/white"/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/main_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<android.support.design.widget.SupportFloatingActionsMenu
...>
/* Code for a fancy fab w/ menu */
</android.support.design.widget.SupportFloatingActionsMenu>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
对于包含recyclerView的片段:
<android.support.design.widget.CoordinatorLayout
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"
tools:context="com.insa.burnd.view.MainActivity.NewsfeedFragment"
android:id="@+id/fragment_newsfeed">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
java代码非常标准,我将viewpager绑定到选项卡......等等.
预先感谢您的帮助 :) !
android android-fragments androiddesignsupport android-tablayout
由于图像总是比文字更好,我向您呈现我当前的布局.
工具栏/选项卡位于带有viewPager的activity.xml中,recyclelerView位于viewPager中的片段内.因此,您可以向右/向左滑动以查看其他内容.
我的问题是我希望AppBarLayout在其滚动行为中绑定到第一个片段中的recyclerView,而不是其他片段.
在下面的代码中,我做了这个绑定,但它不起作用,因为recyclerView无法识别外部布局中的AppBarLayout .你有解决方法吗?
活动代码:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
/* pretty stuff */
app:layout_scrollFlags="scroll|enterAlways">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/* pretty stuff */ />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/main_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.SupportFloatingActionsMenu
...>
/* Code for a fancy fab w/ menu */
</android.support.design.widget.SupportFloatingActionsMenu>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
对于包含recyclerView的片段:
<android.support.design.widget.CoordinatorLayout
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"
tools:context="com.insa.burnd.view.MainActivity.NewsfeedFragment"
android:id="@+id/fragment_newsfeed">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout> …Run Code Online (Sandbox Code Playgroud) android android-fragments androiddesignsupport android-appbarlayout
我正在构建一个Android应用程序,现在它有一个主要的回收站视图(填充了项目,这些项目是使用item.xml布局的),并且在每个item.xml中都有一个listView.
如何在此列表视图中进行滚动工作,因为现在应用程序只是监听回收器视图的滚动?
我试过下面这行,但它不起作用:
android:nestedScrollingEnabled="true"
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助:)!