由网友(她结婚我劫婚)分享简介:我想用户的 SwipeDismissBehavoir 从设计支持库。我在 RecyclerView 和刷卡的项目列表中的项目要解雇(如谷歌的收件箱中的应用程序)。我设置的侦听器 RecyclerView 项目,但 SwipeDismissBehavior onDismiss 监听器是没有得到调用。SwipeDism...![通过辐射发射测试 如何避免采用复杂的EMI抑制技术以实现紧凑 高性价比的隔离设计](https://p.xsw88.cn/allimgs/daicuo/20230907/4597.png)
我想用户的 SwipeDismissBehavoir
从设计支持库。我在 RecyclerView
和刷卡的项目列表中的项目要解雇(如谷歌的收件箱中的应用程序)。
我设置的侦听器 RecyclerView
项目,但 SwipeDismissBehavior
onDismiss
监听器是没有得到调用。
SwipeDismissBehavior行为=新SwipeDismissBehavior();
CoordinatorLayout.LayoutParams PARAMS =(CoordinatorLayout.LayoutParams)mItemLayout.getLayoutParams();
params.setBehavior(行为);
behavior.setListener(新SwipeDismissBehavior.OnDismissListener(){
@覆盖
公共无效onDismiss(查看视图){
}
@覆盖
公共无效onDragStateChanged(int i)以{
}
});
mItemLayout.setLayoutParams(PARAMS);
解决方案
试着用单一视图。 我能知道的观点被驳回,但我不知道怎么恢复如Gmail的看法。
布局:
< android.support.design.widget.CoordinatorLayout
的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:工具=http://schemas.android.com/tools
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:ID =@ + ID / coordinatorLayout
工具:上下文=MainActivity。>
< android.support.v7.widget.CardView
机器人:ID =@ + ID / cardView
机器人:layout_margin =20dp
机器人:layout_width =match_parent
机器人:layout_height =match_parent>
<的TextView
机器人:文本=哈哈
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT/>
< /android.support.v7.widget.CardView>
< /android.support.design.widget.CoordinatorLayout>
活动:
公共类MainActivity扩展AppCompatActivity {
私人CoordinatorLayout coordinatorLayout;
私人CardView cardView;
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
coordinatorLayout =(CoordinatorLayout)findViewById(R.id.coordinatorLayout);
cardView =(CardView)findViewById(R.id.cardView);
CoordinatorLayout.LayoutParams PARAMS =(CoordinatorLayout.LayoutParams)cardView.getLayoutParams();
最后SwipeDismissBehavior< CardView>行为=新SwipeDismissBehavior();
behavior.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_START_TO_END);
behavior.setListener(新SwipeDismissBehavior.OnDismissListener(){
@覆盖
公共无效onDismiss(最终查看视图){
Snackbar.make(coordinatorLayout,完成,Snackbar.LENGTH_LONG)
。显示();
}
@覆盖
公共无效onDragStateChanged(int i)以{
}
});
params.setBehavior(行为);
cardView.setOnTouchListener(新View.OnTouchListener(){
@覆盖
公共布尔onTouch(视图V,MotionEvent事件){
返回behavior.onTouchEvent(coordinatorLayout,cardView,事件);
}
});
}
}
![通过辐射发射测试 如何避免采用复杂的EMI抑制技术以实现紧凑 高性价比的隔离设计](https://p.xsw88.cn/allimgs/daicuo/20230907/4597.png)
I am trying to user the SwipeDismissBehavoir
from design support library. I've list items in RecyclerView
and swiping an item have to dismiss (like google inbox app) .
I've set the listener for the RecyclerView
items but the SwipeDismissBehavior
onDismiss
listener is not getting called.
SwipeDismissBehavior behavior = new SwipeDismissBehavior();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams)mItemLayout.getLayoutParams();
params.setBehavior(behavior);
behavior.setListener(new SwipeDismissBehavior.OnDismissListener() {
@Override
public void onDismiss(View view) {
}
@Override
public void onDragStateChanged(int i) {
}
});
mItemLayout.setLayoutParams(params);
解决方案
Tried with single view. I can know the view was dismissed, but I'm wondering how to restore the view like Gmail.
Layout:
<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"
android:id="@+id/coordinatorLayout"
tools:context=".MainActivity">
<android.support.v7.widget.CardView
android:id="@+id/cardView"
android:layout_margin="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Haha"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v7.widget.CardView>
</android.support.design.widget.CoordinatorLayout>
Activity:
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
private CardView cardView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
cardView = (CardView) findViewById(R.id.cardView);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) cardView.getLayoutParams();
final SwipeDismissBehavior<CardView> behavior = new SwipeDismissBehavior();
behavior.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_START_TO_END);
behavior.setListener(new SwipeDismissBehavior.OnDismissListener() {
@Override
public void onDismiss(final View view) {
Snackbar.make(coordinatorLayout, "Done", Snackbar.LENGTH_LONG)
.show();
}
@Override
public void onDragStateChanged(int i) {
}
});
params.setBehavior(behavior);
cardView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return behavior.onTouchEvent(coordinatorLayout, cardView, event);
}
});
}
}
相关推荐
最新文章