模仿探探的左右滑动切换卡片功能

    xiaoxiao2021-12-04  17

    有一阵耍探探看着效果图还可以,然后又在网上看到了一个动态切换的开源库Swipecards便拿来修改成探探滑动界面

    导入

    dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.github.bumptech.glide:glide:3.5.2' }

    看看效果对比

    探探的效果

    模仿的效果

    监听函数

    flingContainer = (SwipeFlingAdapterView) findViewById(R.id.frame); //设置适配器 flingContainer.setAdapter(adapter); flingContainer.setFlingListener(new SwipeFlingAdapterView.onFlingListener() { @Override public void removeFirstObjectInAdapter() { al.remove(0); adapter.notifyDataSetChanged(); } @Override public void onLeftCardExit(Object dataObject) { makeToast(MainActivity.this, "不喜欢"); } @Override public void onRightCardExit(Object dataObject) { makeToast(MainActivity.this, "喜欢"); } @Override public void onAdapterAboutToEmpty(int itemsInAdapter) { al.add(new CardMode("循环测试", 18, list.get(itemsInAdapter % imageUrls.length - 1))); adapter.notifyDataSetChanged(); i++; } @Override public void onScroll(float scrollProgressPercent) { View view = flingContainer.getSelectedView(); view.findViewById(R.id.item_swipe_right_indicator).setAlpha(scrollProgressPercent < 0 ? -scrollProgressPercent : 0); view.findViewById(R.id.item_swipe_left_indicator).setAlpha(scrollProgressPercent > 0 ? scrollProgressPercent : 0); } });

    卡片内容

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="20dp" android:orientation="horizontal"> <ImageView android:id="@+id/left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="10dp" android:background="@drawable/home_buttons_dislike" android:onClick="left" /> <ImageView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="10dp" android:background="@drawable/home_buttons_info" /> <ImageView android:id="@+id/right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:background="@drawable/home_buttons_like" /> </LinearLayout>

    点击按钮

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="20dp" android:orientation="horizontal"> <ImageView android:id="@+id/left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="10dp" android:background="@drawable/home_buttons_dislike" android:onClick="left" /> <ImageView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="10dp" android:background="@drawable/home_buttons_info" /> <ImageView android:id="@+id/right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:background="@drawable/home_buttons_like" /> </LinearLayout>

    下载

    Github下载地址(代码是最新的)

    下载地址

    原文转载:http://blog.csdn.net/shallcheek/article/details/46606523

    转载请注明原文地址: https://ju.6miu.com/read-680290.html

    最新回复(0)