下面列出了android.webkit.WebView#setId ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void initWebView(){
mWebView = new WebView(mContext);
ConstraintLayout.LayoutParams layoutParams =
new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.startToStart = ConstraintLayout.LayoutParams.PARENT_ID;
layoutParams.endToEnd = ConstraintLayout.LayoutParams.PARENT_ID;
layoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
layoutParams.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID;
mWebView.setLayoutParams(layoutParams);
mWebView.setId(R.id.webview);
mWebView.setVisibility(View.INVISIBLE);
mLayout.addView(mWebView,-1);
mAdvanceWebClient = new AdvanceWebClient(getContext(), mWebView,mUser_agent);
mAdvanceWebClient.setListener(mLoginSuccessListener);
mAdvanceWebClient.initWebView("https://" + mUrl.getHost());
}
@SuppressLint("SetJavaScriptEnabled")
public WebViewRelativeLayout(Context context) {
super(context);
webView = new WebView(context);
webView.setId(0X100);
webView.setScrollContainer(true);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
webView.setLayoutParams(params);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
addView(webView);
}
private void drawInnerViews(Context context, AttributeSet attrs){
float density = context.getResources().getDisplayMetrics().density;
int value16 = (int)(16*density);
int value10 = (int)(10*density);
int value40 = (int)(40*density);
LayoutParams mainLayoutParams = new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
mainLayoutParams.setMargins(value16,value16,value16,value16);
setLayoutParams(mainLayoutParams);
//creation & addition of webview
webview = new WebView(context, attrs);
webview.setId(android.R.id.content);
webview.setLayoutParams(
new LayoutBuilder()
.addWidth(LayoutParams.MATCH_PARENT)
.addHeight(LayoutParams.WRAP_CONTENT)
.setMargin(value10,value40,0,0)
.create()
);
webview.getSettings();
webview.setBackgroundColor(Color.argb(0,0,0,0));
addView(webview);
//creation of list view
listView = new ListView(context, attrs);
listView.setId(android.R.id.list);
listView.setLayoutParams(
new LayoutBuilder()
.addWidth(LayoutParams.MATCH_PARENT)
.addHeight(LayoutParams.WRAP_CONTENT)
.setMargin(0,value10,0,0)
.addRule(BELOW, webview.getId() )
.create()
);
addView(listView );
//creation & addition of editText
editTv = new AppCompatEditText(context, attrs);
editTv.setVisibility(GONE);
editTv.setId(android.R.id.text1);
editTv.setLayoutParams(
new LayoutBuilder()
.addWidth(LayoutParams.MATCH_PARENT)
.addHeight(LayoutParams.WRAP_CONTENT)
.setMargin(value10, value10, 0, 0)
.addRule(BELOW, webview.getId())
.create()
);
editTv.setInputType(InputType.TYPE_CLASS_TEXT);
editTv.setImeOptions(EditorInfo.IME_ACTION_DONE);
addView(editTv );
}
public LightningView(@NonNull Activity activity, @Nullable String url, boolean isIncognito) {
BrowserApp.getAppComponent().inject(this);
mActivity = activity;
mUIController = (UIController) activity;
mWebView = new WebView(activity);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
mWebView.setId(View.generateViewId());
}
mIsIncognitoTab = isIncognito;
mTitle = new LightningViewTitle(activity);
sMaxFling = ViewConfiguration.get(activity).getScaledMaximumFlingVelocity();
mWebView.setDrawingCacheBackgroundColor(Color.WHITE);
mWebView.setFocusableInTouchMode(true);
mWebView.setFocusable(true);
mWebView.setDrawingCacheEnabled(false);
mWebView.setWillNotCacheDrawing(true);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
//noinspection deprecation
mWebView.setAnimationCacheEnabled(false);
//noinspection deprecation
mWebView.setAlwaysDrawnWithCacheEnabled(false);
}
mWebView.setBackgroundColor(Color.WHITE);
mWebView.setScrollbarFadingEnabled(true);
mWebView.setSaveEnabled(true);
mWebView.setNetworkAvailable(true);
mWebView.setWebChromeClient(new LightningChromeClient(activity, this));
mWebView.setWebViewClient(new LightningWebClient(activity, this));
mWebView.setDownloadListener(new LightningDownloadListener(activity));
mGestureDetector = new GestureDetector(activity, new CustomGestureListener());
mWebView.setOnTouchListener(new TouchListener());
sDefaultUserAgent = mWebView.getSettings().getUserAgentString();
initializeSettings();
initializePreferences(activity);
if (url != null) {
if (!url.trim().isEmpty()) {
mWebView.loadUrl(url, mRequestHeaders);
} else {
// don't load anything, the user is looking for a blank tab
}
} else {
loadHomepage();
}
}
public LightningView(@NonNull Activity activity, @Nullable String url, boolean isIncognito) {
BrowserApp.getAppComponent().inject(this);
mActivity = activity;
mUIController = (UIController) activity;
mWebView = new WebView(activity);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
mWebView.setId(View.generateViewId());
}
mIsIncognitoTab = isIncognito;
mTitle = new LightningViewTitle(activity);
sMaxFling = ViewConfiguration.get(activity).getScaledMaximumFlingVelocity();
mWebView.setDrawingCacheBackgroundColor(Color.WHITE);
mWebView.setFocusableInTouchMode(true);
mWebView.setFocusable(true);
mWebView.setDrawingCacheEnabled(false);
mWebView.setWillNotCacheDrawing(true);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
//noinspection deprecation
mWebView.setAnimationCacheEnabled(false);
//noinspection deprecation
mWebView.setAlwaysDrawnWithCacheEnabled(false);
}
mWebView.setBackgroundColor(Color.WHITE);
mWebView.setScrollbarFadingEnabled(true);
mWebView.setSaveEnabled(true);
mWebView.setNetworkAvailable(true);
mWebView.setWebChromeClient(new LightningChromeClient(activity, this));
mLightningWebClient = new LightningWebClient(activity, this);
mWebView.setWebViewClient(mLightningWebClient);
mWebView.setDownloadListener(new LightningDownloadListener(activity));
mGestureDetector = new GestureDetector(activity, new CustomGestureListener());
mWebView.setOnTouchListener(new TouchListener());
sDefaultUserAgent = mWebView.getSettings().getUserAgentString();
initializeSettings();
initializePreferences(activity);
if (url != null) {
if (!url.trim().isEmpty()) {
mWebView.loadUrl(url, mRequestHeaders);
} else {
// don't load anything, the user is looking for a blank tab
}
} else {
loadHomepage();
}
}