我正在开发一个 Xamarin.Android 项目,该项目涉及动态创建表示控件的视图层次结构。一种这样的控件使用 AndroidGameView 类,该类继承自 SurfaceView 并允许使用 OpenGL ES 进行绘图。我试图弄清楚如何给视图圆角。我已经修改了覆盖 OnDraw 方法或将可绘制背景应用于剪辑,但没有任何成功。这个问题似乎与我的目标相似,但我无法弄清楚如何动态地执行此操作而不是使用 axml。是否可以动态给出 SurfaceView 圆角?
问问题
1220 次
1 回答
0
Android上没有直接支持。
我认为最好的方法是使用定义圆角的大三角扇创建所需的圆角矩形形状,并将其放置在场景后面并使其不透明。SurfaceView 的格式必须是 Bitmap.Config.ARGB_8888 并使用 setOpaque(0) 和 setAlpha(1.0)。glClearColor() 必须是透明黑色才能与 Android 画布混合:
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
于 2013-07-23T17:53:37.177 回答