listview的分組擠壓效果實現

2021-07-24 14:58:48 字數 1300 閱讀 9227

1介面卡實現sectionindexer介面

@override

public object getsections()

//此方法是通過字母的ascii碼,與集合裡的元素拼音的首字母的ascii碼做比較,返回第乙個相同的索引位置(即分組位置)

@override

public int getpositionforsection(int sectionindex)

}return 0;

}//此方法是通過索引位置,獲取到此索引所屬的分組字母

@override

public int getsectionforposition(int position)

2在xml檔案裡放置乙個偽item,遮擋住listview的第乙個item,它用來做碰撞位移

<?xml version="1.0" encoding="utf-8"?>

3在**裡設定listview的滾動監聽,通過firstvisibleitem去判斷所屬分類,當(firstvisibleitem + 1 == nextsectionposition)第乙個可見條目的下乙個item與判斷出來的下乙個分類的位置相同的時候,就要開始進行碰撞效果實現  

//設定滾動監聽,去實現擠壓效果

mlv_main.setonscrolllistener(new abslistview.onscrolllistener()

@override

public void onscroll(abslistview view, int firstvisibleitem, int visibleitemcount,

int totalitemcount)

//如果當前可見條目的下乙個條目就是下乙個分組字母的位置

if (firstvisibleitem + 1 == nextsectionposition)

}//未滿足上面的條件,就將偽容器的y座標設定的和listview一樣,滿足了就設定計算的值

titlelayout.sety(titley);

lastvisibleindex = firstvisibleitem;

}});

ListView阻尼效果

效果圖省略。activity main.xml 僅僅有乙個自己定義listview mainactivity arraylistadapter 為了簡化 package com.example.dampingdemo import android.os.bundle import android.w...

ListView 分組完美實現

專案中需要用到分組列表,資料為動態,apidemo中的例子不能滿足要求。而expandlistview存在收起時才能重新整理的問題 專案要求不能收起 雖然實現了,但是很不爽。最後自己實現了乙個。section 組頭 row 組所屬行 public abstract class groupbasead...

ListView的item動畫效果

created by llb on 2016 1 26.public abstract class listadapter extends baseadapter 設定動畫 public void setanimation animationset set private abslistview.o...