3

我有这个定义我的对话框的 xml:

<?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();

出于某种原因,我的对话框比我的“测试”文本视图大(高得多)。我希望我的对话与我的文本完全相同。我怎样才能做到这一点 ?

4

3 回答 3

3

您必须将选项设置为没有标题的对话框。

所以添加这个:dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

希望这可以帮助!

于 2012-04-13T12:47:15.043 回答
3

我面前没有 API,但我认为您需要将对话框宽度和高度参数设置为:

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

您还可以设置 X、Y 坐标来显示对话框的位置,方法是玩弄它的窗口并在显示之前设置它的属性。

于 2012-04-13T12:48:04.763 回答
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();
于 2012-04-13T13:01:33.377 回答