2012-03-23 123 views
0

出於某種原因,我的所有AlertDialog都將屏幕內容視圖推送出去。第一個例子只是顯示簡單的文本:Android AlertDialog topPanel視圖將屏幕內容推出屏幕

new AlertDialog.Builder(this) 
    .setTitle(R.string.welcome_title) 
    .setIcon(null) 
    .setMessage(R.string.welcome_message) 
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }) 
    .setNegativeButton(null, null) 
    .setCancelable(true) 
    .setOnCancelListener(new DialogInterface.OnCancelListener() { 
     @Override 
     public void onCancel(DialogInterface dialog) { 
      dialog.dismiss(); 
     } 
    }) 
    .create().show(); 

而第二個是顯示從我的資產HTML文件:

public static void showHtmlDialog(Activity activity, String url, CharSequence title, CharSequence buttonText) { 
    View layout = activity.getLayoutInflater().inflate(R.layout.scrollable_web_view, null); 
    WebView webView = (WebView)layout.findViewById(R.id.web_content); 
    webView.loadUrl(url); 
    webView.setWebViewClient(WebUtils.createStandardWebViewClient(activity)); 

    return new AlertDialog.Builder(activity) 
     .setView(layout) 
     .setCancelable(true) 
     .setIcon(null) 
     .setNegativeButton(buttonText, getDialogNegativeBtnListener()) 
     .setTitle(title) 
     .create() 
     .show(); 
} 

望着視圖層次,我可以看到topPanel(標題和圖標)幾乎佔據了整個屏幕,內容就在那裏 - 只是在屏幕外(屏幕截圖here)。

我想我應該提到我使用GreenDroid,雖然我以前沒有遇到過這個問題。定位Android 4.0.3。

回答

0

想通了 - 問題出在我的主題上。爲有問題的活動設置的主題有:

<item name="android:background">@drawable/main_bg</item> 

從主題中刪除該行將所有內容都放回原位。