にmaxOverScrollY設定することができますがここで私はうまくいけば、それはそれらの検索を支援する、これを解決する方法です。重要な点は、OnScrollListenerをリストにアタッチし、ジェスチャーが処理されているタイミングを追跡し、リストの末尾に達したときです。その後、飛行機がまだ進行している間、システムが移動しようとすると、その位置を最後までリセットし続けます。
private ListView mListView;
private ListAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_list);
mListView = (ListView) findViewById(R.id.listView);
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getList(25));
mListView.setAdapter(mAdapter);
mListView.setOverScrollMode(View.OVER_SCROLL_NEVER);
if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){
mListView.setOnScrollListener(new OnScrollListener(){
private boolean flinging = false;
private boolean reachedEnd = false;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
flinging = (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING);
reachedEnd = false;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalItemCount)){
mListView.setSelection(mAdapter.getCount() - 1);
}else if(firstVisibleItem + visibleItemCount == totalItemCount){
reachedEnd = true;
}else{
reachedEnd = false;
}
}
});
}
}
この回答を確認:この答えをチェックしてください http://stackoverflow.com/questions/5778820/is-there-a-way-to-disable-android-listview-animation – vladexologija
を。完璧に動作します。 http://stackoverflow.com/questions/7777803/listview-top-highlight-on-scrolling/17569996#17569996 – kord
あなたは迷惑なバウンス効果の解決策を見つけたことがありますか?私はリストビューでもそれを見ています。 – Brian