Surfaceview не отображается полностью при первоначальном создании

#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 и кода рендеринга.