我做了一個示例應用程序來翻轉viewflipper中的不同佈局。Android的主屏幕像設置child.setvisibility(View.Visible)效果閃爍的問題
XML基本上是(僞代碼)
<ViewFlipper>
<LinearLayout><TextView text:"this is the first page" /></LinearLayout>
<LinearLayout><TextView text:"this is the second page" /></LinearLayout>
<LinearLayout><TextView text:"this is the third page" /></LinearLayout>
</ViewFlipper>
而且在Java代碼中,
public boolean onTouchEvent(MotionEvent event)
case MotionEvent.ACTION_DOWN {
oldTouchValue = event.getX()
} case MotionEvent.ACTION_UP {
//depending on Direction, do viewFlipper.showPrevious or viewFlipper.showNext
//after setting appropriate animations with appropriate start/end locations
} case MotionEvent.ACTION_MOVE {
//Depending on the direction
nextScreen.setVisibility(View.Visible)
nextScreen.layout(l, t, r, b) // l computed appropriately
CurrentScreen.layout(l2, t2, r2, b2) // l2 computed appropriately
}
上述僞代碼在屏幕上拖動(就像家裏的時候效果很好移動內部viewflipper linearlayouts屏幕)。
問題是,當我做nextScreen.setVisibility(View.VISIBLE)。當下一個屏幕被設置爲可見時,它會在屏幕上閃爍,然後移動到合適的位置。 (我想它是在0位置可見的。)
有沒有辦法加載下一個屏幕而不會在屏幕上閃爍?我想讓它在屏幕之外加載(顯示),以免閃爍。
非常感謝您的時間和幫助!