#android #surfaceview
#Android #surfaceview
Вопрос:
Я использую surfaceview
в своем приложении для Android следующий XML-код.
<SurfaceView
android:id="@ id/surfaceView"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
Предполагается surfaceview
, что он должен быть нарисован изначально при создании и когда пользователь прикасается к нему. Однако, когда объект surfaceview
создается изначально, он не отображается полностью. В нижней части surfaceview есть небольшая черная полоса. Однако при последующем повторном рисовании, когда пользователь касается поверхности, она полностью рисуется. Почему возникает эта проблема?
Ответ №1:
Эта проблема возникает, когда макет изначально не покрывает весь экран. Это может быть проблемой в:
- Рисунок
- Макет
В этом случае я должен был бы сказать, что с макетом что-то не так. Он не закрывает экран полностью из-за height = 0dp
да, я вижу вес, но если вы хотите создать игру, проще использовать FrameLayout и размещать кнопки поверх холста.
<SurfaceView
android:id="@ id/surfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
На это было бы легче ответить с помощью полного макета xml и кода рендеринга.