3Dキューブの一方の側、次の側の別のレイアウトxml、次の別のレイアウトxmlファイルなどを膨らませたいです。
3Dキューブの横にgridViewを配置し、gridviewにいくつかのボタン、画像、テキストを配置する必要があります。
それは可能ですか、そしてどのように?
これを実現するには、次の 2 つの方法があります。
Camera
、キューブのさまざまな側面の変換を作成します。draw()
レイアウトの - メソッドを使用してカスタム に描画しCanvas
、キャンバス コンテンツから OpenGL テクスチャを作成します。
Bitmap layoutBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
Canvas tmpCanvas = new Canvas(layoutBitmap);
//Load layoutBitmap to a texture and recycle it.
次に、新しいテクスチャで立方体を描画します。
残念ながら、これらのソリューションはレイアウト上でのイベントを許可しないため (おそらく最初のオプションですが、私はそうは思いません)、クリックしたり他のアクションを実行したりできるようにする必要がある場合、これは機能しません。
これを使用して、レイアウトからビットマップ イメージを作成します。
private Bitmap imageXML(View view) {
view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
final Bitmap bp = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
bp.eraseColor(Color.WHITE);
Canvas canvas = new Canvas(bp);
view.draw(canvas);
return bp;
}