【问题标题】:How to dynamically create a SurfaceView with rounded corners如何动态创建带有圆角的 SurfaceView
【发布时间】:2013-07-24 01:53:37
【问题描述】:

我正在开发一个 Xamarin.Android 项目,该项目涉及动态创建表示控件的视图层次结构。其中一种控件使用 AndroidGameView 类,该类继承自 SurfaceView 并允许使用 OpenGL ES 进行绘图。我试图弄清楚如何给视图圆角。我已经修改了覆盖 OnDraw 方法或将可绘制背景应用于剪辑,但没有任何成功。 This question 似乎与我的目标相似,但我无法弄清楚如何动态地执行此操作而不是使用 axml。是否可以动态给 SurfaceView 圆角?

【问题讨论】:

    标签: android surfaceview rounded-corners dynamically-generated


    【解决方案1】:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2018-10-26
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      相关资源
      最近更新 更多