怎么设置dialog的宽和高度

怎么设置dialog的宽和高度... 怎么设置dialog的宽和高度 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
命运终点
2014-12-19 · TA获得超过7741个赞
知道大有可为答主
回答量:1249
采纳率:96%
帮助的人:469万
展开全部
1. 如果您是直接从资源值转换: int width = getResources().getDimensionPixelSize(R.dimen.popup_width);
int height = getResources().getDimensionPixelSize(R.dimen.popup_height);
getDialog().getWindow().setLayout(width, height);

然后在你的布局中指定match_parent的对话框: android:layout_width="match_parent"
android:layout_height="match_parent"

你只需要担心一个地方。它并不完美,但至少它适用于有一个RelativeLayout作为你的对话框的布局文件的根目录。

2. 我有一个固定大小的定义在XML主要布局(LinearLayout中在我的情况)以下内容:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="1000dp"
android:minHeight="450dp"

3. 你可以在下面的代码从Java布局设置宽度和高度。 final AlertDialog alertDialog = alertDialogBuilder.create();
final WindowManager.LayoutParams WMLP = alertDialog.getWindow().getAttributes();

WMLP.gravity = Gravity.TOP;
WMLP.y = mActionBarHeight;
WMLP.x = getResources().getDimensionPixelSize(R.dimen.unknown_image_width);
alertDialog.getWindow().setAttributes(WMLP);

alertDialog.show();

4. 在我的情况下工作的唯一的事情是该解决方案在这里指出:
从阿迪尔博客文章片段: @Override
public void onStart()
{
super.onStart();

// safety check
if (getDialog() == null)
return;

int dialogWidth = ... // specify a value here
int dialogHeight = ... // specify a value here

getDialog().getWindow().setLayout(dialogWidth, dialogHeight);

// ... other stuff you want to do in your onStart() method
}

5. 我固定它设置根布局 int width = activity.getResources().getDisplayMetrics().widthPixels;
int height = activity.getResources().getDisplayMetrics().heightPixels;
content.setLayoutParams(new LinearLayout.LayoutParams(width, height));
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式