Макет верхнего уровня в моей деятельности - это framelayout.Я завершил, отладил и протестировал это приложение, и оно работает точно так же, как и во всех отношениях на моем g1 и на различных эмуляторах.Но на 3,7-дюймовых дисплеях, работающих под управлением версии 2.1+, некоторые изображения, упакованные в линейную линейку, периодически не видны.Я знаю, что они есть, потому что вы можете коснуться и перетащить их с эффектом в приложении.Поэтому я предполагаю, что они каким-то образом попали под SurfaceView, который является основным компонентом приложения.По-видимому, это так, даже если SurfaceView объявлен в xml до LinearLayout.Тем не менее, ImageViews в LinearLayout добавляются программно к концу onCreate ().
Framelayout укладывает все, что к нему добавлено, один поверх другого - единственный способ увидеть более одногодочерний элемент макета кадра, если он меньше экрана и расположен отдельно друг от друга.
Как ни странно, иногда изображения видны - они случайные.В любом случае, я пытался бороться с этим с помощью framelayout.bringChildToFront (View v) на linearlayout без успеха.
Интересно, есть ли у кого-нибудь понимание того, как поведение может быть случайным, как это, и как яследует кодировать эти просмотры изображений, чтобы этого не происходило, и почему проблема возникает только на экранах с диагональю 3,7 дюйма и 3,2 дюйма (как это бывает, оба экрана с диагональю 3,2 дюйма были htc, поэтому фактор поставщика тоже может быть фактором).
[edit] На самом деле, я решил, что это проблема 2.2, а не размера экрана (или даже поставщика).Невозможно гарантировать, что ImageViews, добавленные в framelayout с SurfaceView в нем, появятся в верхней части SurfaceView.Я выполнил несколько тестов в соответствующих методах onDraw (), и viewviews «visible» (0), и ничто не влияет на альфа рисованных объектов, которые также присутствуют в ondraw ().[/ edit]
Любое понимание приветствовалось бы.
Кен Т.