我一直在做一些研究,我还没有找到一个示例或实现,允许您在刷卡时将视图(下面的示例图像)放在RecyclerView下面.有没有人有任何关于如何在不使用库的情况下实现它的示例或想法.
这是我如何实现轻扫以解雇.
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return super.getSwipeDirs(recyclerView, viewHolder);
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
if (viewHolder instanceof ViewDividers) {
Log.e("DIRECTION", direction + "");
}
}
};
new ItemTouchHelper(simpleItemTouchCallback).attachToRecyclerView(recycler);
Run Code Online (Sandbox Code Playgroud)
我正在尝试实施滑动以删除与Gmail应用"滑动到存档"相同的内容:
我已经尝试了很多教程,但没有一个像gmail一样快,我更喜欢不在外部库上工作.我该怎么做?
编辑:
我的代码到目前为止 -
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
public boolean onMove(RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
// final int fromPos = viewHolder.getAdapterPosition();
// final int toPos = viewHolder.getAdapterPosition();
// // move item in `fromPos` to `toPos` in adapter.
return true;// true if moved, false otherwise
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
//Remove swiped item from list and notify the RecyclerView
mAdapter.notifyItemRemoved(viewHolder.getLayoutPosition());
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
itemTouchHelper.attachToRecyclerView(mRecyclerView);
Run Code Online (Sandbox Code Playgroud)
我已设法启用滑动手势,但 …
我正在通过本文的帮助实现Swipe和Drag in .在删除项目时,我想显示但显示 需要查看.我不知道如何进入一个功能.RecyclerViewSnackBarSnackBarViewRecyclerAdapter
我的代码:
public void onItemDismiss(int position) {
notes.remove(position);
notifyItemRemoved(position);
/* Show SnackBar */
}
Run Code Online (Sandbox Code Playgroud)
编辑:我的问题与这个问题不同.我在实现SwipetoDismiss方面没有任何问题.我已经成功实现了它.但我想显示一个SnackBar,以便用户可以进行修改和撤消.我在显示SnackBar时没有实现onSwiped()的问题.
我正在尝试在Android ICS及更高版本中实现"从左向右滑动以删除"手势.我的应用程序中有listview.我有手势探测器工作.但是当我在特定列表项目上从左向右滑动时,我希望项目随着我的手指移动.当我移动手指时,超过某一点,只有这样项目才会自行删除.OnFling()方法I目前还没有实现这一目标.
如何修改OnFling()方法以使项目随我的手指移动?
我的手势听众课是
class GestureListener extends SimpleOnGestureListener {
private static final int SWIPE_MIN_DISTANCE = 50;
private static final int SWIPE_MAX_OFF_PATH = 100;
private static final int SWIPE_THRESHOLD_VELOCITY = 25;
private MotionEvent mLastOnDownEvent = null;
@Override
public boolean onDown(MotionEvent e) {
mLastOnDownEvent = e;
return super.onDown(e);
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "On Single TAP up ", Toast.LENGTH_SHORT).show();
return super.onSingleTapUp(e);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) { …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个TextView和两个ImageView的CardView.我希望能够向左和向右滑动以"解雇".我实际上想要向右滑动以发送一个Intent,但这可以在以后完成.现在,我希望能够通过向左或向右滑动来解除CardView.我也想要滑动动画.
我试过使用,romannurik's SwipeDismissTouchListener但CardView没有响应刷卡.
如果有人有比romannurik's自定义监听器更好的解决方案,请分享.
这是我的CardView布局:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/generate"
map:cardCornerRadius="@dimen/_3sdp"
map:cardElevation="@dimen/_8sdp"
android:id="@+id/restaurantContainer">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="@dimen/_75sdp"
android:layout_height="@dimen/_75sdp"
android:layout_margin="@dimen/_5sdp" />
<ImageView
android:id="@+id/rating"
android:layout_width="@dimen/_75sdp"
android:layout_height="@dimen/_15sdp"
android:layout_margin="@dimen/_5sdp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_5sdp"
android:gravity="top"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/categories"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/_5sdp"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
map:cameraZoom="14"
map:liteMode="true"
map:mapType="normal" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我如何设置SwipeDismissTouchListener:
RelativeLayout rootLayout;
CardView …Run Code Online (Sandbox Code Playgroud) 你有没有看到 ios imessage 应用程序。在这个应用程序中,我们需要向左滑动才能查看聊天消息的时间戳。最初它们是隐藏的,但是当我们向左滑动时,隐藏的时间戳就会显示出来。我也想在我的 android 应用程序中实现这一点。
当我们向左滑动时,灰色气泡中的消息保持固定,但是蓝色气泡中的消息向左滑动以显示时间戳。
以下是我迄今为止尝试过的。
SwipeDetector.java - 它检测滑动
public class SwipeDetector implements View.OnTouchListener {
private SwipeListener swipeListener;
private int hundred;
public static enum Action {
LR, // Left to right
RL, // Right to left
TB, // Top to bottom
BT, // Bottom to top
None // Action not found
}
private static final int HORIZONTAL_MIN_DISTANCE = 30; // The minimum
// distance for
// horizontal swipe
private static final int VERTICAL_MIN_DISTANCE = 80; // The minimum …Run Code Online (Sandbox Code Playgroud) 我正在玩RecyclerView,我发现没有太多关于如何使用它的文档
我从文档中看到GMail应用程序正在使用RecyclerView,但在应用程序中它具有许多普通RecyclerView不支持的功能:
它有截图
https://developer.android.com/training/material/lists-cards.html
特征:
我可以知道如何实现这些功能吗?
我发现有关于如何实现OnClickListener的讨论,(这些解决方案非常缓慢,因为它不断检查列表项区域)
但是,如果将它与Gmail应用程序进行比较,它会快速而流畅!
我可以知道如何实现上述2个功能吗?他们是如何做到的呢?他们使用Recyclerview还是ListView?
我确信我可以使用ListView实现这些功能,但我不知道如何使用Recyclerview实现它们.
android android-listview material-design android-recyclerview