0
我抵消上ACTION_MOVE的ImageView的,通過調用offsetTopandBottom(INT distanceY)和每次調用後也無效。拖動視圖顯示差事行爲
但框架是可見的,而拖延升級Froyo和薑餅的看法。任何建議?
/**
* Called on ACTION_MOVE
**/
private void offsetView(View view, int distanceY) {
view.offsetTopAndBottom(distanceY);
view.invalidate();
view.invalidateDrawable(view.getBackground());
}
我也嘗試發佈每個offsetCall上,但它沒有奏效。
post(new Runnable() {
@Override
public void run() {
view.offsetTopAndBottom(distanceY);
view.invalidateDrawable(getBackground());
view.invalidate();
}
});
我應該做一個postDelayed爲重繪,或者我應該張貼延遲offsetTopAndBottom呼叫(INT偏移)?
解決:
執行繪圖和分別爲10ms(或一些其它時間< 60ms的)隔開偏移呼叫。
view.offsetTopAndBottom(distanceY);
postDelayed(new Runnable() {
@Override
public void run() {
view.invalidateDrawable(getBackground());
view.invalidate();
}
}, 10);
感謝格雷格:)
上面的問題只發生在 = API 11,使用setLayerType()方法。此外,我已經在應用程序級別定義了android:hardwareAccelerated =「true」。 –
himanshurb
升級Froyo佔市場的1.6%,你真的想花時間試圖弄明白? –
它也發生在薑餅上。請幫忙。如果我們弄清楚什麼,它會更好。 – himanshurb