0

以下のコードを使用してダイアログを表示します。

private AlertDialog MyDialog;
public void adddialog() {
    AlertDialog.Builder MyBuilder = new AlertDialog.Builder(this);
    MyBuilder.setTitle("Title")
    MyBuilder .setView(ListView);
    MyDialog = MyBuilder.create();
}

ListView は行を修正しない場合があります。
しかし、MyDialog の高さを取得したいです。
手に入れるにはどうしたらいいですか?

4

3 に答える 3

1

表示される高さを取得するListViewには、リストの高さを取得one rowし、現在表示されている要素の数を掛ける必要があります。

このようなもの。

        Adapter ListAdapter = listview.getAdapter();
        View mView  = ListAdapter.getView(0, null, listview);
        mView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
                MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        int requiredHeight = listview.getChildCount() * mView.getMeasuredHeight();
于 2013-05-02T06:41:07.680 に答える
0

高さを確認しました。これは、ビューの高さに関する情報を意味します..だから、次のように試すことができます:

     int height = MyDialog.getWindow().getDecorView().getHeight();

また、次の方法で高さを設定できます。

     MyDialog.getWindow().setLayout(width, height);

注意: すべてのメソッドは後で呼び出す必要がありますMyDialog.show();

于 2013-05-02T06:41:26.120 に答える
0

ダイアログの高さを取得する代わりに、listView オブジェクトの getHeight() を使用できます。

于 2013-05-02T06:31:53.260 に答える