我想重新編寫一個java android應用程序到monodroid,但我遇到了一個問題,我用webview的背景透明度來顯示每個屏幕的內容。Monodroid透明WebView
此代碼在java版本(綠色背景上的黑色文本)上正常工作,但在C#版本中,webview的背景爲黑色(綠色背景上的黑色矩形)。
Java代碼:
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setBackgroundColor(Color.GREEN);
WebView webView = new WebView(getApplicationContext());
layout.addView(webView);
setContentView(layout);
webView.getSettings().setJavaScriptEnabled(true);
webView.setBackgroundColor(Color.TRANSPARENT);
webView.loadData("<html><body style='background-color: transparent;'>" +
"Some text...</body></html>", "text/html", "UTF-8");
}
C#代碼:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var layout = new LinearLayout(ApplicationContext);
layout.SetBackgroundColor(Color.Green);
var webView = new WebView(ApplicationContext);
layout.AddView(webView);
SetContentView(layout);
webView.Settings.JavaScriptEnabled = true;
webView.SetBackgroundColor(Android.Resource.Color.Transparent);
webView.LoadData("<html><body style='background-color: transparent;'>" +
"Some text...</body></html>", "text/html", "UTF-8");
}
我知道有一些人有有類似的問題,但他們通常都認爲Java版本無法正常工作。我的C#雖然有問題...
我在這兩種情況下都使用默認項目模板。
我忘了或不做什麼?
感謝您的發現。一定是聖誕節的復發:-) – Matthew 2011-12-28 12:23:49