0

我想在 3d 多维数据集的一侧膨胀布局 xml 文件,在另一侧膨胀另一个布局 xml,在另一侧膨胀等等。

我只需要在 3d 立方体的一侧放置 gridView 并在 gridview 中放置一些按钮、图像、文本。

有可能吗?怎么做?

4

2 回答 2

0

有两种方法可以做到这一点:

  1. 为多维数据集的不同面创建Camera并创建转换。
    是一个如何使用相机对象来实现具有视图的 3d 效果的示例。
    这种方式不明确使用 OpenGL,但它应该在较新版本的 Android 上进行硬件加速。
  2. 使用draw()您的布局的 - 方法绘制到一个 custom 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.
    

    然后用新的纹理绘制你的立方体。

不幸的是,这些解决方案不允许布局上的任何事件(可能是第一个选项,但我不这么认为)所以如果您需要能够单击或执行一些其他操作,这将不起作用。

于 2013-03-21T17:24:15.087 回答
0

我用它从布局创建位图图像,也许对你有帮助。

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;
    }
于 2016-09-23T14:06:16.770 回答