Tela inicial do Android como problema de tremulação de efeito ao definir child.setvisibility (View.Visible)
Eu fiz um aplicativo de exemplo para percorrer diferentes layouts em um viewflipper.
XML é basicamente (pseudo-código)
<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>
E no código 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
}
O pseudo-código acima funciona bem em layouts lineares dentro do viewflipper ao arrastar na tela (assim como na tela inicial).
O problema é quando eu faço o nextScreen.setVisibility (View.VISIBLE). Quando a próxima tela é definida como visível, ela pisca na tela antes de passar para a posição apropriada. (Acho que é tornado visível no local 0).
Existe uma maneira de carregar a próxima tela sem fazê-la piscar na tela? Quero que ele seja carregado (tornado visível) fora da tela para não piscar.
Muito obrigado pelo seu tempo e ajuda!