2012-04-13 66 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();