มีวิธีปิดการใช้งานภาพเคลื่อนไหว Android ListView หรือไม่?

เมื่อเราลาก ListView ไปจนสุดหรือด้านบน เราสามารถลากต่อไปอีกเล็กน้อยได้เสมอ และมันจะแสดงพื้นหลังว่างเปล่า จากนั้นเมื่อเราปล่อย ListView จะเด้งกลับมา มันเป็นเอฟเฟ็กต์ภาพเคลื่อนไหวเริ่มต้นที่ ListView

ฉันต้องการปิดการใช้งานเอฟเฟกต์ภาพเคลื่อนไหวนี้


person Xi 张熹    schedule 25.04.2011    source แหล่งที่มา


คำตอบ (4)


สิ่งนี้อาจใช้ได้ผล สร้างคลาสใหม่ที่มีสิ่งต่อไปนี้

import android.view.View;

public class OverScrollDisabler
{
    public static void disableOverScroll(View view)
    {
        view.setOverScrollMode(View.OVER_SCROLL_NEVER);
    }
}

จากนั้นภายในรหัสของคุณ

if(Build.VERSION.SDK_INT >= 9)
{
    OverScrollDisabler.disableOverScroll(myView);
}

รายละเอียดเพิ่มเติมที่นี่: http://jasonfry.co.uk/?id=30

person Haphazard    schedule 25.04.2011

ใน xml ของคุณให้เพิ่มแอตทริบิวต์

android:overScrollMode="never"
person slott    schedule 20.12.2012

http://developer.android.com/reference/android/widget/AbsListView.html#setOverScrollMode(int)

person Alex Orlov    schedule 25.04.2011
comment
ขอบคุณสำหรับลิงค์ แต่แอพของฉันใช้ Android 1.6 คุณรู้หรือไม่ว่ามีวิธีแก้ไขต่ำกว่า 1.6 หรือไม่? - person Xi 张熹; 25.04.2011

สำหรับ api รุ่นเก่า ‹ 9 ให้พิจารณา:

@Override
public boolean dispatchTouchEvent(MotionEvent ev)
{
    int action = ev.getAction();


    if (action == MotionEvent.ACTION_MOVE) {
        ev.setAction(MotionEvent.ACTION_CANCEL);
        super.dispatchTouchEvent(ev);
        return true;
    }       

    return super.dispatchTouchEvent(ev);
}
person user1112061    schedule 21.03.2012