如何将Android对话框的大小设置为匹配对话框布局的大小?

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

由于某些原因,我的对话框比我的“测试”文本视图要大(高得多)。我希望我的对话框与我的文本完全一致。我该怎么做?

我手头没有API,但我认为你需要设置对话框的宽度和高度: - Speckpgh
3个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接