查找了很久,才找出在GLSurfaceView上添加控件的方法。废话不说,本例实现了一个Native opengl es 程序,绘制了一个旋转三角形;当然主题是在GLSurfaceView上添加Layout控件。主要添加了SlidingDrawer和ImageButton。

源码:http://files.cnblogs.com/maadiah/GLSurfaceView_Overlay.zip 你可以自己修改、把玩。

底部四个是ImageButton,右边是弹出的SlidingDrawer(很不好意思,手头没有像样的图片编辑器,简单点,用内置的icon.png)。

主要注意这几点:

1.GLSurfaceView要开启xml导入插件功能,所以用GLSurfaceView(Context context, AttributeSet attrs)构造函数。(本例是自己实现的GLSurfaceView)

  我是这样获得AttributeSet参数的:

1 Resources res = this.getResources();2         XmlPullParser parser = res.getXml(R.layout.glsurface_overlay);3         AttributeSet attributes = Xml.asAttributeSet(parser);

2.使用context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)方法来获取XML布局文件。

  代码如下:

1 // add imagebuttons 2         LayoutInflater inflater = (LayoutInflater) context3         .getSystemService(Context.LAYOUT_INFLATER_SERVICE);4 LinearLayout imagebuttonLinearLayout = (LinearLayout) inflater5         .inflate(R.layout.imagebutton, imageButtonLinearLayout, false);6 imageButtonLinearLayout.addView(imagebuttonLinearLayout);

3.通过addContentView来添加XML布局的控件

  代码如下:

1 addContentView(imageButtonLinearLayout, new LayoutParams(LayoutParams.MATCH_PARENT,2                 LayoutParams.MATCH_PARENT));

***参考资料:Google、因特网***

***第一篇技术博文,大家都来写博客,技术在分享、传播中产生价值***

转载于:https://www.cnblogs.com/maadiah/archive/2011/10/13/android_glsurfaceview_layout.html

在GLSurfaceView上添加Layout控件(android)相关推荐

  1. java 通过JLayeredPane实现背景图上添加其他控件

    通过JLayeredPane实现背景图上添加其他控件 JLayeredPane为容器添加了深度,允许组件在需要时互相重叠. JLayeredPane将深度范围按 层 划分,在同一层内又对组件按位置进一 ...

  2. 【转载】SAP OO ALV 在自定义屏幕上添加ALV控件 一个屏幕上使用2个ALV

    终于完成了 OO ALV的学习,第一个作品. 一个屏幕上放了2个ALV控件,上面用来显示表头,下面用来显示详细的行项目. 业务背景: 在汽车的售后服务环节,汽车零件在质保期内损坏,维修产生的费用,整车 ...

  3. layui table工具栏点击时间_layui table表格上添加日期控件laydate

    方法:标红的地方是关键,经测试不要 data_field:'velappr' 也能用. tatable.render({ id:'idTest' ,elem: '#dict' ,page: true, ...

  4. svg添加html控件,SVG中嵌入HTML元素

    .clsfont{ border:1px solid #ccc;background:#fff;line-height:37px;color:#999;font-size:14px;text-alig ...

  5. android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?

    protected View createView() {//动态添加组件 Button btn = new Button(this);//动态创建按钮 btn.setId(index++); btn ...

  6. android自定义控件不显示,解决Android Studio Design界面不显示layout控件的问题

    Android Studio更新到3.1.3后,发现拖到Design中的控件在预览界面中不显示: 解决办法: 在Styles.xml中的parent="..."中的Theme前添加 ...

  7. Android Studio Design界面不显示layout控件的解决方法

    Android Studio Design界面不显示layout控件的解决方法 参考文章: (1)Android Studio Design界面不显示layout控件的解决方法 (2)https:// ...

  8. 添加Aforge控件,报错“在.....中没有可放置在工具箱上的控件”

    添加Aforge控件,报错"在-中没有可放置在工具箱上的控件" 1.先添加AForge系列引用 工具–>NuGet包管理器–>管理解决方案的NuGet程序包 之后,打开 ...

  9. android 获取多个控件,Android----获取activity上所有的控件

    /** * @note 获取该activity所有view * @author liuh * */ public List getAllChildViews() { View view = this. ...

最新文章

  1. IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全
  2. curl的速度为什么比file_get_contents快以及具体原因
  3. 2021-10-16 集合(set)与映射(map) 恋上数据结构笔记
  4. C# 简单方式解压Zip文件/使用VS2019自带功能
  5. 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库
  6. textarea 文本框 实现右下角展现 动态字数
  7. ThreadLocal 遇上线程池的问题及解决办法
  8. Car-like Robot运动模型及应用分析
  9. JAVA大数据-Week4-DAY3
  10. 01.学习笔记-linux操作系统常用命令
  11. canvas画钟表demo
  12. 开考!狮子,老虎,企鹅,技术圈的这些飞禽走兽你认识多少?
  13. KGB知识图谱在智能问答方向发挥技术特色
  14. IT民工系列 —— 前言
  15. Shell按关键字删除重复行
  16. 软著申请需要多少钱?大概需要多久?
  17. 强化学习常用算法总结
  18. 密码算法原理与分析:RSA安全与秘钥基础设施
  19. AI路径查找器的使用
  20. 计算机毕业设计-基于VUE+SpringBoot+MyBatis+MySQL的学生作业管理系统

热门文章

  1. layer.alert/confirm文字换行
  2. 互斥锁、自旋锁和自适应自旋锁
  3. hdu-1422(简单dp)
  4. 使用google colab运行RNN网络代码报告错误ValueError: Object arrays cannot be loaded when allow_pickle=False
  5. 基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现
  6. 【问链-EOS公开课】第八课 EOS 数据库与持久化 API(一)
  7. ubuntu14.04安装完ros后常用的其他安装
  8. 服务器版的mysql怎么装_WIN7服务器配置之MySQL数据库安装图解(适用于5.1,5.5的版本)...
  9. 为什么在反向传播中感知器初始值不能为0_深度学习理论分享之——单层感知器简述...
  10. linux 安装x11 apt-get,Mac 安装apt-get