cocos2d 嵌入网页_在cocos2d-x界面中嵌入Android的WebView

public class Majiang extendsCocos2dxActivity{

WebView m_webView;

ImageView m_imageView;static Majiang majiang = null;

FrameLayout m_webLayout;

LinearLayout topLayout;

Button backButton;protected voidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//全局变量保存this

majiang=this;//初始化一个空的布局

m_webLayout = new FrameLayout(this);

addContentView(m_webLayout,newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

}//此函数提供给jni调用,返回自身类的对象

public static Majiang getInstance() {//返回实例

returnmajiang;

}public voidopenAndroidView() {this.runOnUiThread(new Runnable() {//在主线程里添加别的控件

public voidrun() {//初始化webView

m_webView = newWebView(majiang);//设置webView能够执行javascript脚本

m_webView.getSettings().setJavaScriptEnabled(true);//设置可以支持缩放

m_webView.getSettings().setSupportZoom(true);//设置出现缩放工具

m_webView.getSettings().setBuiltInZoomControls(true);//载入URL

m_webView.loadUrl("http://www.baidu.com");//使页面获得焦点

m_webView.requestFocus();//如果页面中链接,如果希望点击链接继续在当前browser中响应

m_webView.setWebViewClient(newWebViewClient(){public booleanshouldOverrideUrlLoading(WebView view, String url) {if(url.indexOf("tel:")<0){

view.loadUrl(url);

}return true;

}

});

/*背景图*/m_imageView= newImageView(majiang);

m_imageView.setImageResource(R.drawable.lobbybg);

m_imageView.setScaleType(ImageView.ScaleType.FIT_XY);/*初始化线性布局 里面加按钮和webView*/topLayout= newLinearLayout(majiang);

topLayout.setOrientation(LinearLayout.VERTICAL);/*初始化返回按钮*/backButton= newButton(majiang);

backButton.setBackgroundResource(R.drawable.backbutton);

backButton.setLayoutParams(newLinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));

backButton.setText("关 闭");

backButton.setTextColor(Color.argb(255, 255, 218, 154));

backButton.setTextSize(14);

backButton.setOnClickListener(newOnClickListener() {public voidonClick(View v) {

removeWebView();

}

});//把image加到主布局里

m_webLayout.addView(m_imageView);//把webView加入到线性布局

topLayout.addView(backButton);

topLayout.addView(m_webView);//再把线性布局加入到主布局

m_webLayout.addView(topLayout);

}

});

}//移除webView 把刚才加的所有控件都删掉

public voidremoveWebView() {

m_webLayout.removeView(m_imageView);

m_imageView.destroyDrawingCache();

m_webLayout.removeView(topLayout);

topLayout.destroyDrawingCache();

topLayout.removeView(m_webView);

m_webView.destroy();

topLayout.removeView(backButton);

backButton.destroyDrawingCache();

}public boolean onKeyDown(int keyCoder,KeyEvent event)//重载函数,android手机实体返回键回调函数

{if(m_webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){//如果网页能回退则后退,如果不能后退移除WebView

m_webView.goBack();

}else{

removeWebView();

}return false;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值