居中 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的主要内容,如果未能解决你的问题,请参考以下文章