質問編集履歴

3

質問内容の変更

2017/01/17 02:27

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Activity_main.xmlのViewにつ
1
+ buttonが表示されな
test CHANGED
@@ -1,19 +1,9 @@
1
- ###前提
2
-
3
- android studioでアプリを作っています。
4
-
5
- まずActivity_main.xmlとActivityMain.javaとView.javaがあります。
6
-
7
- ###実現したいこと
8
-
9
- Activity_main.xmlで全面にViewそして左上にButtonを載せて表示したいです。
10
-
11
- そしてActivity_main.xmlのViewにViewクラスの内容をリンク?させたいのですが
12
-
13
1
  今の段階ではボタンが表示できていません。
14
2
 
15
3
  ボタンを表示するには何が足りませんか
16
4
 
5
+
6
+
17
7
  activity_main.xml
18
8
 
19
9
  ```

2

コード追加

2017/01/17 02:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,8 +8,348 @@
8
8
 
9
9
  Activity_main.xmlで全面にViewそして左上にButtonを載せて表示したいです。
10
10
 
11
- そしてActivity_main.xmlのViewにViewクラスの内容をリンクさせたいのですが
11
+ そしてActivity_main.xmlのViewにViewクラスの内容をリンクさせたいのですが
12
+
12
-
13
+ 今の段階ではボタンが表示できていません。
14
+
15
+ ボタンを表示するには何が足りませんか
16
+
17
+ activity_main.xml
18
+
19
+ ```
20
+
21
+ <?xml version="1.0" encoding="utf-8"?>
22
+
23
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
24
+
25
+ xmlns:tools="http://schemas.android.com/tools"
26
+
27
+ android:layout_width="fill_parent"
28
+
29
+ android:layout_height="fill_parent"
30
+
31
+ android:orientation="vertical"
32
+
33
+ android:baselineAligned="false">
34
+
35
+
36
+
37
+ <com.example.pc632g.senitest.GLView
38
+
39
+ android:layout_width="match_parent"
40
+
41
+ android:layout_height="match_parent" />
42
+
43
+
44
+
45
+ <Button
46
+
47
+ android:id="@+id/button1"
48
+
49
+ android:layout_width="wrap_content"
50
+
51
+ android:layout_height="wrap_content"
52
+
53
+ android:text="メモ"
54
+
55
+ android:onClick="buttonClick" />
56
+
57
+
58
+
59
+ </RelativeLayout>
60
+
61
+ ```
62
+
63
+ GLView.java
64
+
65
+ ```
66
+
67
+ import javax.microedition.khronos.egl.EGLConfig;
68
+
69
+ import javax.microedition.khronos.opengles.GL10;
70
+
71
+ import android.content.Context;
72
+
73
+ import android.opengl.GLSurfaceView;
74
+
75
+ import android.util.AttributeSet;
76
+
77
+ import android.util.Log;
78
+
79
+
80
+
81
+ class GLView extends GLSurfaceView implements GLSurfaceView.Renderer {
82
+
83
+
84
+
85
+ /**
86
+
87
+ * TAG
88
+
89
+ */
90
+
91
+ private static final String TAG = "GLVIEW";
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ /**
100
+
101
+ * 立方体
102
+
103
+ */
104
+
105
+ private Cube mCube;
106
+
107
+
108
+
109
+ /**
110
+
111
+ * コンストラクタ
112
+
113
+ *
114
+
115
+ * @param context Context
116
+
117
+ */
118
+
119
+
120
+
121
+ public GLView(Context context) {
122
+
123
+ super(context);
124
+
125
+
126
+
127
+ // 描画処理を設定
128
+
129
+ setRenderer(this);
130
+
131
+
132
+
133
+ }
134
+
135
+
136
+
137
+ public GLView(Context context ,AttributeSet set){
138
+
139
+ super(context, set);
140
+
141
+ }
142
+
143
+ /**
144
+
145
+ * 描画処理のループ
146
+
147
+ */
148
+
149
+ public void onDrawFrame(GL10 gl) {
150
+
151
+ Log.i(TAG, "onDrawFrame()");
152
+
153
+
154
+
155
+ // 画面クリアの色を設定
156
+
157
+ gl.glClearColor(0, 0, 1, 1.0f);
158
+
159
+
160
+
161
+ // 画面をクリア
162
+
163
+ gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
164
+
165
+
166
+
167
+ gl.glEnable(GL10.GL_DEPTH_TEST);
168
+
169
+
170
+
171
+ // モデルビューモードに設定
172
+
173
+ gl.glMatrixMode(GL10.GL_MODELVIEW);
174
+
175
+
176
+
177
+ // マトリクスを初期化
178
+
179
+ gl.glLoadIdentity();
180
+
181
+ //マトリクスの移動.
182
+
183
+
184
+
185
+
186
+
187
+ //描画メソッドの呼び出し。
188
+
189
+ //それぞれのクラスに描画メソッドをもっているので、GL10のコンテキストを渡して描画を行います.
190
+
191
+ //mTriangle.draw(gl);
192
+
193
+ mCube.draw(gl);
194
+
195
+
196
+
197
+ }
198
+
199
+
200
+
201
+ /**
202
+
203
+ * 画面が変更されたときに呼び出されるメソッド.
204
+
205
+ * 1.画面が生成されたとき(onSurfaceCreatedの後)
206
+
207
+ * 2.画面サイズが変わったとき(縦と横で端末が切り替わったとき)
208
+
209
+ */
210
+
211
+ public void onSurfaceChanged(GL10 gl, int width, int height) {
212
+
213
+ Log.i(TAG, "onSurfaceChanged()");
214
+
215
+
216
+
217
+ // GL_CURLL_FACEをDisableにすることで裏面も表示されます
218
+
219
+ // ここをEnableにすると、x or y軸での回転時に裏面が表示されません.
220
+
221
+ // 主に3Dのように裏面の描画を行わないときにEnableにして使います.
222
+
223
+ //gl.glDisable(GL10.GL_CULL_FACE);
224
+
225
+ gl.glEnable(GL10.GL_CULL_FACE);
226
+
227
+
228
+
229
+ // 頂点の配列の利用を有効にする
230
+
231
+ gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
232
+
233
+
234
+
235
+ //テクスチャバッファの配列の利用を有効にする
236
+
237
+ gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
238
+
239
+
240
+
241
+ // ビューポートの設定
242
+
243
+ gl.glViewport(0, 0, width, height);
244
+
245
+
246
+
247
+ // マトリクスのモードをプロジェクションモードに設定
248
+
249
+ gl.glMatrixMode(GL10.GL_PROJECTION);
250
+
251
+
252
+
253
+ // ローカル座標を初期化
254
+
255
+ gl.glLoadIdentity();
256
+
257
+
258
+
259
+ // 画面比(アスペクト比)を計算
260
+
261
+ float ratio = (float) width / height;
262
+
263
+
264
+
265
+ // 透視投影に使う値を計算
266
+
267
+ float size = 0.01f * (float) Math.tan((70.0f / 180.0f / 3.141592f) / 2.0);
268
+
269
+
270
+
271
+ // 透視投影の設定
272
+
273
+ gl.glFrustumf(-size, size, -size / ratio, size / ratio, 0.01f, 100.0f);
274
+
275
+
276
+
277
+ // 平行投影の設定。投資投影では無い場合、こちらを設定
278
+
279
+ // gl.glOrthof(-1, 1, -1.0f/ratio, 1.0f/ratio, 0.01f, 100.0f);
280
+
281
+ }
282
+
283
+
284
+
285
+ /**
286
+
287
+ * GLSurfaceViewのRendererが生成された際に呼ばれる
288
+
289
+ */
290
+
291
+ public void onSurfaceCreated(GL10 gl, EGLConfig config) {
292
+
293
+ Log.i(TAG, "onSurfaceCreated()");
294
+
295
+ mCube = new Cube(gl, getResources());
296
+
297
+ }
298
+
299
+
300
+
301
+ /**
302
+
303
+ * GLSurfaceViewのRendererが破棄された際に呼ばれる
304
+
305
+ */
306
+
307
+ protected void onDetachedFromWindow() {
308
+
309
+ super.onDetachedFromWindow();
310
+
311
+ Log.i(TAG, "onDetachedFromWindow()");
312
+
313
+ }
314
+
315
+
316
+
317
+
318
+
319
+ }
320
+
321
+
322
+
323
+ ```
324
+
325
+ MainActivity.java
326
+
327
+ ```
328
+
329
+ import android.support.v7.app.AppCompatActivity;
330
+
13
- xml側はどのように変化させたらよいかわからないので
331
+ import android.os.Bundle;
332
+
333
+
334
+
14
-
335
+ public class MainActivity extends AppCompatActivity {
336
+
337
+
338
+
339
+ /** Called when the activity is first created. */
340
+
341
+ @Override
342
+
343
+ public void onCreate(Bundle savedInstanceState) {
344
+
345
+ super.onCreate(savedInstanceState);
346
+
347
+ GLView view = new GLView(this);
348
+
15
- 分かりやすいサイトを教えてください
349
+ setContentView(view);
350
+
351
+ }
352
+
353
+ }
354
+
355
+ ```

1

質問内容の変更

2017/01/17 01:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -10,4 +10,6 @@
10
10
 
11
11
  そしてActivity_main.xmlのViewにViewクラスの内容をリンクさせたいのですが
12
12
 
13
- xml側はどのように変化させたらよいでしょうか
13
+ xml側はどのように変化させたらよいかわからないの
14
+
15
+ 分かりやすいサイトを教えてください