banner展示原理: 各个sdk平台实现banner,大概都是 先创建一个banner展示的viewlayout, 然后通过sdk 的 API 创建banner的数据信息。之后,将banner 数据信息绑定到 第一步创建的 view 之上。完成banner的展示。
viewlayout 可以自定义创建,也可以使用系统(cocos 2dx )提供的 FrameLayout, 使用framelayout,需要设置这个视图的大小,位置信息。 即,定义 banner 属性信息等如下:
mBannerParentLayout =new FrameLayout(mAppActivity);
FrameLayout.LayoutParams containerParams = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT
);
containerParams.gravity = Gravity.BOTTOM; //上下的位置信息
mAppActivity.addContentView(mBannerParentLayout, containerParams);
设置banner 的显示与隐藏。
方法1:隐藏是删除掉广告信息,显示的时候,重新load。
方法2:设置view 的显示与隐藏。View.GONE. 隐藏布局。
View.INVISIBLE===>设置控件不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layout 布局
View.GONE===>设置控件不可见,但这个View在ViewGroup中不保留位置,会重新layout布局,不再占用空间,其后面的view就会取代他的位置
View.VISIBLE===>设置控件可见。恢复正常显示布局信息。
对于UI布局的显示与隐藏操作,一定要在UI线程里操作,不然会引起崩溃。
原因:viewlayout 属于安卓的UI,需要在安卓的UI线程里处理。