ChildBrowserを「アップグレード」する必要があります。340行目のあたりに次のコードがありますwebview.setWebViewClient(client);
。次のように置き換えます。
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
webview.loadUrl("javascript:(function(){"+"var t=document.head.getElementsByTagName('title')[0];t.innerHTML="+myNewTitle+"})()");
}
});
showWebPage()
を設定するには、のコードを読み取るオプションも微調整する必要がありますmyNewTitle
。しかし、その後、あなたは行ってもいいはずです。
編集:
基本的に、私は、少なくとも私の使用では、おそらくあなたの使用では、現状のツールバーは必要ないと判断しました。もともと、私はChildBrowserを微調整して、完全なHTMLソースをJSコードに送り返すことで、GoogleoAuth2を簡単に実行できるようにしました。ユーザーはGoogleが望む場所に行くので、ツールバーは絶対に必要ありません。私はコードから何かをハックする必要がありました、そして元の作者は私が彼のコードでしたことに腹を立てることができました...これがチェックリストです:
import android.view.Gravity;
import android.util.TypedValue;
import android.graphics.Color;
import android.graphics.Typeface;
public class ChildBrowser extends Plugin {
**public String zeTitle;**
// private EditText edittext;
private TextView edittext;
のすべての参照をEditText
に変更する必要がありTextView
ます。
result = this.showWebPage(args.getString(0), args.optJSONObject(1)**, args.getString(2)**);
.jsファイルも変更する必要があります。
public String showWebPage(final String url, JSONObject options**, String myNewTitle**) {
if (options != null) {
showLocationBar = options.optBoolean("showLocationBar", true);
}
**zeTitle=myNewTitle;**
関連するすべてのコードをコメントアウトしImageButton
ます。
edittext = new TextView(ctx.getContext()); // insread of EditText
コメントアウトedittext.setOnKeyListener
// edittext.setText(url);
edittext.setText(zeTitle);
edittext.setTextSize(TypedValue.COMPLEX_UNIT_PX, 24);
edittext.setGravity(Gravity.CENTER);
edittext.setTextColor(Color.DKGRAY);
edittext.setTypeface(Typeface.DEFAULT_BOLD);
必要なものだけをツールバーに追加します。
// toolbar.addView(back);
// toolbar.addView(forward);
toolbar.addView(edittext);
// toolbar.addView(close);
ついに:
public class ChildBrowserClient extends WebViewClient {
// EditText edittext;
TextView edittext;
/**
* Constructor.
*
* @param mContext
* @param edittext
*/
public ChildBrowserClient(TextView mEditText) {
// this.edittext = mEditText;
}
JSコードの場合:
cb.showWebPage(YOUR_URL, {showLocationBar:true}, YOUR_TITLE);
あなたは行ってもいいはずです。GitHubで使用しているChildBrowserの更新バージョンを公開します。