我试图使用FAB库(https://github.com/makovkastar/FloatingActionButton),我按照说明书编写,但这不起作用。我究竟做错了什么?这里有错误:
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
FloatingActionButton fab = (FloatingActionButton) rootView.findViewById(R.id.fab);
fab.attachToRecyclerView(mRecyclerView);
My Fragment代码:
{{1}}
答案 0 :(得分:1)
为什么在谷歌使用支持库的FAB时使用第三方库?
看看here
您可以将它附加到ListView或Recycler:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
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">
<ListView
android:id="@+id/lvToDoList"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
android:src="@drawable/ic_done"
app:layout_anchor="@id/lvToDoList"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
您可以为FAB创建您想要的行为,例如:
public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
// ...
@Override
public void onNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child,
View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed,
dyUnconsumed);
if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) {
child.hide();
} else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) {
child.show();
}
}
// ...
}