ImageView не виден
У меня два ImageView
предметы в FrameLayout
: imageView1 и imageView2. imageView1 виден, а imageView2 располагается вне экрана, когда начинается действие. Тогда я вращаюсь FrameLayout
на каком-то пользовательском событии, используя RotateAnimation
поэтому imageView2 должен стать видимым, а imageView1 должен выйти за пределы экрана. Но imageView2 по- прежнему остается невидимым. Кто-нибудь знает в чем причина?
Код слишком большой и сложный, чтобы показать здесь. Но, как я выяснил, основная проблема в переводе и повороте изображений с помощью функции setImageMatrix и особого поведения FrameLayout
или же ImageView
, который обрезать изображение, если оно выходит за их пределы.
2 ответа
Если я правильно понял вашу ситуацию, то вы ошибаетесь. FrameLayout помещает его дочерние элементы в стек, а не рядом. Таким образом, они не отображаются вне экрана, imageView2 прямо позади imageView1. И чтобы показать это, вы должны вынести это на передний план.
Я бы посоветовал вам взглянуть на макеты ViewSwitcher/ViewAnimator. Я думаю, что они будут соответствовать вашим потребностям.
Я решил свою проблему. Я просто изменил высоту в LayoutParams
из FrameLayout
от "fill_parent" до точной высоты, что позволяет сохранить все ImageView
в FrameLayout
,