Android 如何在对话框中更改gridview宽度

Android 如何在对话框中更改gridview宽度,android,gridview,dialog,width,Android,Gridview,Dialog,Width,我把一个gridview放到一个对话框中,但不能以任何方式改变它的大小。它总是在水平方向上填充屏幕 protected Dialog getMoreMenuDialog(GridView gridView) { Dialog d = new Dialog(AbstractActivity.this, R.style.menuDialog); Window window = d.getWindow(); window.setGravity(Gravity.BOTTOM);

我把一个gridview放到一个对话框中,但不能以任何方式改变它的大小。它总是在水平方向上填充屏幕

protected Dialog getMoreMenuDialog(GridView gridView) {
    Dialog d = new Dialog(AbstractActivity.this, R.style.menuDialog);
    Window window = d.getWindow();
    window.setGravity(Gravity.BOTTOM);
    android.view.WindowManager.LayoutParams params = window.getAttributes();
    params.y = findViewById(R.id.context_menu_ll).getHeight() + 3;
    window.setAttributes(params);
    d.setCancelable(true);
    d.setCanceledOnTouchOutside(true);
    int WRAP_CONTENT = LayoutParams.WRAP_CONTENT;
    gridView.setLayoutParams(new LayoutParams(100, WRAP_CONTENT));
    d.addContentView(gridView, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));

    return d;
}
接下来是调用此方法的地方

        LayoutInflater factory = LayoutInflater.from(this);
        final GridView gridView = (GridView) factory.inflate(R.layout.winner_moremenu, null);
        mMoreMenuItemsGridView = gridView;
        // gridView.setAdapter(new
        // MenuAdapter(getApplicationContext(),getMoreMenuItems()));
        OnItemClickListener il = getMenuGridOnItemClickListener();
        if (il == null) {
            il = mDefaultMoreMenuListener;
        }
        gridView.setOnItemClickListener(il);
        return getMoreMenuDialog(gridView);
什么是右排版。赢家菜单?下一步

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/menu_grid"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:padding="2dp" 
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:numColumns="4"
android:columnWidth="60dp"
android:stretchMode="columnWidth"
android:listSelector="@drawable/shap_context_menu_focus"
android:gravity="center"
/>

我解决了它。使用布局包含gridview,然后将其添加到对话框并设置布局的大小