Cordova实现页面带水印的效果

最近项目中需要一些实现一些需求,在cordova里面实现一个页面带水印的效果,按理说这种效果,其实在html中实现更好,可是项目就要让我在andorid端实现这样的效果,无奈硬着头皮上了,看了cordovaActivity的源码后,发现其实要重写两个方法,就可以实现这种效果

我们需要重写cordovaActivity 的    

makeWebView()  createViews()这两个方法。代码如下

public class WaterActivity extends CordovaActivity{

SystemWebView web;

@Override

public void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

//获取andorid的content 我们的根布局

ViewGroup rootView=(ViewGroup)findViewById(android.R.id.content);

//加载我们的水印布局

View view=LayoutInflater.from(this).inflate(R.layout.activity_demo, null);

//添加到我们的根布局

rootView.addView(view, 0);

//创建cordova的webview

web=new SystemWebView(this);

web.setBackgroundColor(Color.TRANSPARENT);

web.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

//添加到我们的根布局中

rootView.addView(web,0);

super.init();

loadUrl("file:///android_asset/www/index.html");

}

@Override

protected CordovaWebView makeWebView() {

// TODO Auto-generated method stub

return new CordovaWebViewImpl(new SystemWebViewEngine(web));

}

@Override

protected void createViews() {

// TODO Auto-generated method stub

if (preferences.contains("BackgroundColor")) {

            try {

                int backgroundColor = preferences.getInteger("BackgroundColor", Color.BLACK);

                // Background of activity:

                appView.getView().setBackgroundColor(backgroundColor);

            }

            catch (NumberFormatException e){

                e.printStackTrace();

            }

        }

        appView.getView().requestFocusFromTouch();

}

}

你可能感兴趣的:(Cordova实现页面带水印的效果)