问题
I'm doing a small game on Android 2.3.3 and I want to use openGLES. My question is whether I can GLSurfaceView and TextView, Button in the same layout. My layout xml file is as the following
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal" >
<com.ecnu.sei.manuzhang.nim.GameView
android:id="@+id/game_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="20dip"
android:layout_weight="1"
/>
<TextView
android:id="@+id/info_turn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginBottom="10dip"
/>
<Button
android:id="@+id/next_turn"
android:text="@string/button_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
/>
When GameView extends GLSurfaceView
there will be errors java.lang.NoSuchMethodException: GameView(Context,AttributeSet)
but GameView extends GLSurfaceView
will do.
If not, is there a way to put those widgets together?
Thx in advance
回答1:
When extending View
or in this case GLSurfaceView
you might need to place the correct constructor.
In your case you are missing this one:
public GameView(Context context, AttributeSet attrs)
You can check how it's done inside cocos2d-x with the Cocos2dxGLSurfaceView.
来源:https://stackoverflow.com/questions/8241975/how-can-i-use-glsurfaceview-in-a-linearlayout-together-with-other-views-such-as