GLSurfaceView+surfcaeview+控件

本文详细介绍了如何在GLSurfaceView上添加布局控件,如SlidingDrawer和ImageButton。通过一个Native OpenGL ES程序展示了在GLSurfaceView上绘制旋转三角形,并提供了源码链接供读者自行修改和研究。实现的关键包括使用GLSurfaceView的构造函数获取AttributeSet,通过布局注入服务获取XML布局,最后使用addContentView方法添加控件。
摘要由CSDN通过智能技术生成

查找了很久,才找出在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) context
3 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
4 LinearLayout imagebuttonLinearLayout = (LinearLayout) inflater
5 .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));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值