Я столкнулся с очень странной проблемой в Android FrameLayout.
Я пробую очень простую игру с SurfaceView, и когда игра заканчивается, я хочу выскочить другой вид сверху, возможно, отображающий некоторый текст,Это очень похоже на пример Android-кода lunarlander.Однако я не могу заставить его работать.Вот странная проблема:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/game_frame"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.tmh.FunMatch.MainGamePanel
android:id="@+id/game_panel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.tmh.FunMatch.MyText
android:id="@+id/text"
android:text="test"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center_horizontal"
android:textColor="#88ffffff"
android:textSize="24sp"/>
</RelativeLayout>
Для вышеупомянутого FrameLayout я хочу показать второй TextView, когда игра закончится.Однако он не будет отображаться после вызова TextView.setVisibility (VISIBLE).
Я проделал большой эксперимент, если я изначально установил TextView как VISIBLE, а затем в какой-то момент установил в коде значение INVISIBLE.(Насколько я понимаю, TextView должен быть сначала показан на экране один раз, а потом я превратил его в невидимый).Если я так и сделаю, когда игра закончится, TextView будет правильно отображен.
Я очень сомневаюсь, что это ошибка Android.Я изменил код Android LunarLander, я не знаю, почему LunarLander работал и отображал текст на экране.
Если кто-то сталкивался с той же проблемой, пожалуйста, скажите мне, что не так с моим кодом или естьскрытый баг?
Спасибо