Android 如何将视图作为背景添加到surfaceView?

Android 如何将视图作为背景添加到surfaceView?,android,view,background,surfaceview,Android,View,Background,Surfaceview,您好,我目前正在工作的游戏,其中包含的音频效果在surfaceView的背景可视化视图 surfaceView包含实际游戏。 我发布了一些代码片段:- main.xml <FrameLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_margin="5dp" android:layout_weight="1" android:back

您好,我目前正在工作的游戏,其中包含的音频效果在surfaceView的背景可视化视图

surfaceView包含实际游戏。

我发布了一些代码片段:-

main.xml

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:background="#000" >

    <co.ardor.visualizer.VisualizerView
        android:id="@+id/visualizerView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </co.ardor.visualizer.VisualizerView>
</FrameLayout>
我的VisualizerView运行良好,因此如何将其作为背景添加到SurfaceView(实际运行的游戏)。我遇到了一个问题,
“如何将视图添加为SurfaceView的背景?”
或其他更好的解决方案。。
Thx提前..

您可以查看的一种可能性是检索
视图的
绘图缓存
位图
,并将
位图
添加到
表面视图
,绘制在游戏内容后面

检索
位图

myVisualizerView.setDrawingCacheEnabled(true);
mVisualizerBitmap = Bitmap.createBitmap(myVisualizerView.getDrawingCache());
myVisualizerView.setDrawingCacheEnabled(false);
在SurfaceView的onDraw(…)中绘制
位图


如果您必须在游戏的每一帧检索位图,我不确定这在性能方面是否是一个好主意,但它可能值得探索。

尝试使用LinearLayout添加它们, 并使用以下方法使它们相互重叠:

android:layout_alignLeft="..."
android:layout_alignTop="..."

不能将视图添加为背景。您必须将其设置为活动的内容视图谢谢Gunnar的回复,但这不利于实时声音可视化。。。但你的想法给我留下了深刻的印象。你看过这个吗:-?我从这个链接得到了解决方案。但你建议的答案也很好。谢谢
canvas.drawBitmap(mVisualizerBitmap, //other params);
android:layout_alignLeft="..."
android:layout_alignTop="..."