居中 WRAP_CONTENT

Posted

技术标签:

【中文标题】居中 WRAP_CONTENT【英文标题】:Centering a WRAP_CONTENT 【发布时间】:2011-08-09 22:38:22 【问题描述】:

目前我在另一个视图中有一个视图(它是一个广告),但是因为我使用的是 MATCH_PARENT,所以当我只希望它是广告尺寸时,宽度是整个屏幕长度。现在 WRAP_CONTENT 解决了这个问题,但我现在如何将视图居中放在屏幕底部?我正在使用以下代码...

LinearLayout ll = new LinearLayout(this);
ll.setHorizontalGravity(Gravity.CENTER);    //Place centre
ll.setVerticalGravity(Gravity.BOTTOM);  //place bottom
mobfoxView = new MobFoxView(this, "xxxxxxxxxxxxxxxx", true, true);
mobfoxView.setBannerListener(this);
mobfoxView.setVisibility(View.GONE);
ll.addView(mobfoxView);
this.addContentView(ll, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

问题是由于 WRAP_CONTENT,它不会再居中。如何让它工作,使布局在屏幕底部居中?

【问题讨论】:

你应该用它们对应的常量替换你的十六进制数字,以获得漂亮的代码顺便说一句。 是的,我打算这样做,但他们在哪个班级上课?编辑没关系,我发现它是重力,但代码中的问题仍然存在 【参考方案1】:

试试这些编辑:

ll.setGravity(Gravity.CENTER | Gravity.BOTTOM);
mobfoxView = new MobFoxView(this, "xxxxxxxxxxxxxxxx", true, true);
mobfoxView.setBannerListener(this);
mobfoxView.setVisibility(View.GONE);
ll.addView(mobfoxView, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
this.addContentView(ll, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

这样,如果 ll 附加在树的末尾,它将填充所有内容并位于底部。

【讨论】:

之前尝试过,使用 FILL_PARENT 的问题是用视图“填充”整个轴,而 WRAP_CONTENT 的问题是它不知道中心在哪里 你能告诉我你的xml吗?顺便说一句,我对垂直而不是水平布局说 FILL_PARENT! 不管怎样问题还是一样,我不使用任何 XML 都是代码和上面的全部 您确定您的新 LayoutParams 是 ViewGroup.LayoutParams 导入 android.view.ViewGroup.LayoutParams; - 看起来如此大声笑

以上是关于居中 WRAP_CONTENT的主要内容,如果未能解决你的问题,请参考以下文章

CSS水平居中与垂直居中的总结

怎么让文字上下居中

css html 如何将图片img标签 水平居中 垂直居中 和水平垂直居中

div水平垂直居中的几种方法

word文字怎么垂直居中?

表格怎么让文字居中?