gpt4 book ai didi

java - 在 SurfaceView 之上添加布局

转载 作者:行者123 更新时间:2023-11-29 05:24:18 25 4
gpt4 key购买 nike

一开始我将内容 View 设置为一个新类,它扩展了 SurfaceView(参见示例)。

RenderView surfaceView = new RenderView();
setContentView(surfaceView);

但我似乎无法从 xml 文件添加布局,因为充气需要我添加内容的第一层是 View 并抛出错误,当我尝试像正常一样充气时方式。

那么问题来了,如何在 SurfaceView 之上从 .xml 文件添加一些布局?

这是RenderView类代码的重要部分:

public class RenderView extends SurfaceView implements Runnable {

Context context;
Thread thread = null;

SurfaceHolder holder;
boolean running = false;

public RenderView(Context context) {
super(context);
this.context = context;
holder = getHolder();
}

public void run() {
while (running) {
if(!holder.getSurface().isValid()) continue;
Canvas c = holder.lockCanvas();


holder.unlockCanvasAndPost(c);
}
}

最佳答案

在您的 Activity 中调用此方法:

http://developer.android.com/reference/android/app/Activity.html#addContentView(android.view.View, android.view.ViewGroup.LayoutParams)

View View 参数可以通过inflating你的XML布局文件来获取

LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
View secondLayerView = LayoutInflater.from(this).inflate(R.layout.my_layout, null, false);
addContentView(secondLayerView, lp);

关于java - 在 SurfaceView 之上添加布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23294918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com