2012-04-13 174 views
2

第二節還有這個XML其定義我的對話:Android的對話框佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <TextView android:text="test" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

,這是我的對話框:

OverlayItem item = mapOverlays.get(index); 
Dialog dialog = new Dialog(context); 
dialog.setContentView(R.layout.map_menu); 
dialog.setCanceledOnTouchOutside(true); 
dialog.show(); 

出於某種原因,我的對話是更大然後我的「測試」的TextView(多更高)。我希望我的對話正如我的文本一樣。我怎樣才能做到這一點 ?

+0

我沒有在我面前的API,但我認爲你需要設置對話框的寬度和高度: – user282172 2012-04-13 12:45:52

回答

3

您必須設置爲對話框選項不具有標題。

所以補充一點:dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

希望這有助於!

3

我沒有在我面前的API,但我認爲你需要設置對話框的寬度和高度參數是這樣的:

dialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

您還可以設置X,Y座標,其中通過播放窗口並在放映前設置其屬性來顯示對話框。

0

刪除標題到您的對話框,然後您可以減少對話框的大小,或調整佈局中調整對話框視圖的大小。

OverlayItem item = mapOverlays.get(index); 

Dialog dialog = new Dialog(context); 
// Removing Dialog 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.map_menu); 
dialog.setCanceledOnTouchOutside(true); 
dialog.show();