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

目の前にAPIはありませんが、ダイアログの幅と高さのパラメーターを次のように設定する必要があると思います。

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

また、ウィンドウをいじって表示する前に属性を設定することで、ダイアログを表示するX、Y座標を設定することもできます。

于 2012-04-13T12:48:04.763 に答える
3

タイトルを持たないオプションをダイアログに設定する必要があります。

これを追加します:dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

お役に立てれば!

于 2012-04-13T12:47:15.043 に答える
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 に答える