今の段階ではボタンが表示できていません。
ボタンを表示するには何が足りませんか
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:baselineAligned="false"> <com.example.pc632g.senitest.GLView android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="メモ" android:onClick="buttonClick" /> </RelativeLayout>
GLView.java
import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; import android.content.Context; import android.opengl.GLSurfaceView; import android.util.AttributeSet; import android.util.Log; class GLView extends GLSurfaceView implements GLSurfaceView.Renderer { /** * TAG */ private static final String TAG = "GLVIEW"; /** * 立方体 */ private Cube mCube; /** * コンストラクタ * * @param context Context */ public GLView(Context context) { super(context); // 描画処理を設定 setRenderer(this); } public GLView(Context context ,AttributeSet set){ super(context, set); } /** * 描画処理のループ */ public void onDrawFrame(GL10 gl) { Log.i(TAG, "onDrawFrame()"); // 画面クリアの色を設定 gl.glClearColor(0, 0, 1, 1.0f); // 画面をクリア gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); gl.glEnable(GL10.GL_DEPTH_TEST); // モデルビューモードに設定 gl.glMatrixMode(GL10.GL_MODELVIEW); // マトリクスを初期化 gl.glLoadIdentity(); //マトリクスの移動. //描画メソッドの呼び出し。 //それぞれのクラスに描画メソッドをもっているので、GL10のコンテキストを渡して描画を行います. //mTriangle.draw(gl); mCube.draw(gl); } /** * 画面が変更されたときに呼び出されるメソッド. * 1.画面が生成されたとき(onSurfaceCreatedの後) * 2.画面サイズが変わったとき(縦と横で端末が切り替わったとき) */ public void onSurfaceChanged(GL10 gl, int width, int height) { Log.i(TAG, "onSurfaceChanged()"); // GL_CURLL_FACEをDisableにすることで裏面も表示されます // ここをEnableにすると、x or y軸での回転時に裏面が表示されません. // 主に3Dのように裏面の描画を行わないときにEnableにして使います. //gl.glDisable(GL10.GL_CULL_FACE); gl.glEnable(GL10.GL_CULL_FACE); // 頂点の配列の利用を有効にする gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); //テクスチャバッファの配列の利用を有効にする gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); // ビューポートの設定 gl.glViewport(0, 0, width, height); // マトリクスのモードをプロジェクションモードに設定 gl.glMatrixMode(GL10.GL_PROJECTION); // ローカル座標を初期化 gl.glLoadIdentity(); // 画面比(アスペクト比)を計算 float ratio = (float) width / height; // 透視投影に使う値を計算 float size = 0.01f * (float) Math.tan((70.0f / 180.0f / 3.141592f) / 2.0); // 透視投影の設定 gl.glFrustumf(-size, size, -size / ratio, size / ratio, 0.01f, 100.0f); // 平行投影の設定。投資投影では無い場合、こちらを設定 // gl.glOrthof(-1, 1, -1.0f/ratio, 1.0f/ratio, 0.01f, 100.0f); } /** * GLSurfaceViewのRendererが生成された際に呼ばれる */ public void onSurfaceCreated(GL10 gl, EGLConfig config) { Log.i(TAG, "onSurfaceCreated()"); mCube = new Cube(gl, getResources()); } /** * GLSurfaceViewのRendererが破棄された際に呼ばれる */ protected void onDetachedFromWindow() { super.onDetachedFromWindow(); Log.i(TAG, "onDetachedFromWindow()"); } }
MainActivity.java
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GLView view = new GLView(this); setContentView(view); } }
1つの質問で完結するように端折らずに必要な情報を追記してください。

回答2件
あなたの回答
tips
プレビュー