我在将 GLSurfaceView 放在其他布局之间时遇到了问题,事实证明——使用 GLSurfaceView 是不可能的。所以我用TextureView替换了GLSurfaceView,但是问题没有解决。
我的主要布局中有这样的结构:
<RelativeLayout android:id="@+id/mainEngineLayout"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
tools:context=".activities.MyActivity">
<com.myapplication.views.openGL.myGLTextureView
android:id="@+id/myGLTextureView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="66dp"
android:layout_marginRight="66dp"/>
<LinearLayout
android:id="@+id/leftButtonsLayout"
android:layout_height="fill_parent"
android:layout_width="66dp"
android:layout_alignParentLeft="true"
android:orientation="vertical"
android:background="#b7b8b0">
<ImageButton android:layout_width="66dp" .../>
<ImageButton android:layout_width="66dp" .../>
</LinearLayout>
<FrameLayout
android:layout_height="fill_parent"
android:id="@+id/rightLayout"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:orientation="vertical"
android:background="#b7b8b0">
<ImageButton android:layout_width="66dp" .../>
<ImageButton android:layout_width="66dp" .../>
</FrameLayout>
</RelativeLayout>
最后我想得到如下结果:
问题是在某些设备上我遇到了根本不显示 TextureView 的问题,因此左右布局之间存在黑场。
例如,它可以在我的三星 S3 和模拟器中运行,但在 Xperia 上无法正常运行。我认为原因可能是不同的主题,但我在清单文件中设置了主题,例如:
<application
android:allowBackup="true"
android:configChanges="orientation|screenSize"
android:theme="@style/CustomHoloThemeNoActionBar"
android:screenOrientation="sensorLandscape"
android:largeHeap="true">
<activity
android:theme="@style/CustomHoloThemeNoActionBar"
在哪里"CustomHoloThemeNoActionBar" parent="@android:style/Theme.Holo.Light"
您能否告知可能导致此类问题的原因?