Android開(kāi)源堆疊滑動(dòng)控件仿探探效果
堆疊滑動(dòng)控件,類(lèi)似于社交軟件探探的效果,并增加以下擴(kuò)展:
支持滑動(dòng)方向控制
支持消失方向控制
支持嵌入到ViewPager等滑動(dòng)控件
支持內(nèi)嵌ListView,RecycleView等滑動(dòng)控件
效果演示



如何使用
xml引入StackCardsView:
<com.beyondsw.lib.widget.StackCardsView
android:id="@+id/cards"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:itemHeight="340dp"
app:itemWidth="340dp"
android:paddingBottom="66dp"
android:clipToPadding="false"
/>
支持的xml屬性設(shè)置:

設(shè)置adapter:
mCardsView = Utils.findViewById(root,R.id.cards);
mCardsView.addOnCardSwipedListener(this);
mAdapter = new CardAdapter();
mCardsView.setAdapter(mAdapter);
public class CardAdapter extends StackCardsView.Adapter {
private List<BaseCardItem> mItems;
public void appendItems(List<BaseCardItem> items){
int size = items == null ? 0 : items.size();
if (size == 0) {
return;
}
if (mItems == null) {
mItems = new ArrayList<>(size);
}
mItems.addAll(items);
notifyDataSetChanged();
}
public void remove(int position){
mItems.remove(position);
notifyItemRemoved(position);
}
@Override
public int getCount() {
return mItems == null ? 0 : mItems.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return mItems.get(position).getView(convertView,parent);
}
@Override
public int getSwipeDirection(int position) {
//這里控制每張卡的支持滑動(dòng)超過(guò)一定距離消失的方向
BaseCardItem item = mItems.get(position);
return item.swipeDir;
}
@Override
public int getDismissDirection(int position) {
//這里控制每張卡的支持滑動(dòng)超過(guò)一定距離消失的方向
BaseCardItem item = mItems.get(position);
return item.dismissDir;
}
@Override
public boolean isFastDismissAllowed(int position) {
//這里控制每張卡的支持快速滑動(dòng)消失的方向
BaseCardItem item = mItems.get(position);
return item.fastDismissAllowed;
}
@Override
public int getMaxRotation(int position) {
//這里控制每張卡的最大旋轉(zhuǎn)角
BaseCardItem item = mItems.get(position);
return item.maxRotation;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android自定義控件實(shí)現(xiàn)可左右滑動(dòng)的導(dǎo)航條
- Android控件之SlidingDrawer(滑動(dòng)式抽屜)詳解與實(shí)例分享
- Android自定義控件ScrollView實(shí)現(xiàn)上下滑動(dòng)功能
- Android實(shí)現(xiàn)可滑動(dòng)的自定義日歷控件
- Android控件SeekBar仿淘寶滑動(dòng)驗(yàn)證效果
- Android自定義View實(shí)現(xiàn)隨手勢(shì)滑動(dòng)控件
- Android仿微信列表滑動(dòng)刪除之可滑動(dòng)控件(一)
- Android自定義滑動(dòng)解鎖控件使用詳解
- Android自定義控件實(shí)現(xiàn)滑動(dòng)開(kāi)關(guān)效果
- Android自定義雙向滑動(dòng)控件
相關(guān)文章
Android自定義帶進(jìn)度條WebView仿微信加載過(guò)程
這篇文章主要為大家詳細(xì)介紹了Android自定義帶進(jìn)度條WebView仿微信加載過(guò)程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Android百度地圖實(shí)現(xiàn)搜索和定位及自定義圖標(biāo)繪制并點(diǎn)擊時(shí)彈出泡泡
這篇文章主要介紹了Android百度地圖實(shí)現(xiàn)搜索和定位及自定義圖標(biāo)繪制并點(diǎn)擊時(shí)彈出泡泡的相關(guān)資料,需要的朋友可以參考下2016-01-01
Android TabLayout設(shè)置指示器寬度的方法
本篇文章主要介紹了Android TabLayout設(shè)置指示器寬度的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
android開(kāi)發(fā)之Json文件的讀寫(xiě)的示例代碼
這篇文章主要介紹了android開(kāi)發(fā)之Json文件的讀寫(xiě)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
詳談Matrix中preTranslate()和postTranslate()的理解
這篇文章主要為大家詳細(xì)介紹了Matrix中preTranslate()和postTranslate()的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

