1
我正在嘗試獲取大多數中心元素視圖位置的listview。Android listview在滾動時獲取大多數中心視圖位置
public void getPos(final ListView listView) {
int firstPos = listView.getFirstVisiblePosition();
int lastPos = listView.getLastVisiblePosition();
int count = lastPos - firstPos;
int viewPosition = (count - ((int) count/2));
//int viewPosition = (count - ((int) count/2)+1);
}
,並試圖與屏幕的X,Y
Display display = getWindowManager().getDefaultDisplay();
final Point size = new Point();
display.getSize(size);
float height = size.y;
float centerY=height/2;
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
public void onScroll(final AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// Log.i("Yes1", "Here");
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
if (scrollState == SCROLL_STATE_IDLE) {
final ListView listView = (ListView) view;
for (int i = 0; i < listView.getLastVisiblePosition(); i++) {
final View firstView = listView.getChildAt(i);
if (firstView != null) {
Log.i("Height", centerY + " | " + firstView.getY());
}
}
}
}
}
});
我上面的方法試過,但同時向上和向下滾動沒有得到準確的結果。任何一個有解決方案如何在listview中獲得最中心的視圖位置?
我已經寫在第1部分相同的代碼在我的問題,同時向上滾動,它的做工精細,同時滾動它不工作下。 – Hacker
我有附加圖片(https://i.stack.imgur.com/yXKxZ.png)與您的代碼不起作用 – Hacker
已更新我的答案,請檢查一次。 –