Android 如何在对话框中更改gridview宽度
我把一个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);
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,然后将其添加到对话框并设置布局的大小