0

所以,标题有点混乱,我知道,但我想要的基本上是一个通知框,它有彩色背景和边框,出现在屏幕中央,但没有拉伸。

我已经有了自定义视图,制作背景和边框,但是如果我制作“宽度:fill_parent”和“高度:wrap_content”,它将出现在屏幕顶部,如果我将高度设置为fill_parent,则整个屏幕将充满背景(我有点知道它会发生)。

我还尝试了一种更简单的方法,将 layout_gravity 设置为中心,但没有帮助。该视图位于垂直线性布局内,并且它是其中唯一可见的视图(所有其他元素的可见性 = View.GONE)。

我应该如何编码自定义视图的 onDraw() 以便能够放置 height: fill_parent 并让背景遵守 wrap_content 规则?更简单、更好的解决方案也总是受欢迎的。

4

1 回答 1

1

我认为问题在于它嵌套在 LinearLayout 中。

在FrameLayout中尝试

“旨在阻止屏幕上的一个区域以显示单个项目”

然后,您应该能够将自定义视图居中于透明背景 FrameLayout

编辑:澄清为什么我认为 LinearLayout 是问题所在。LinearLayout 像堆栈一样填满,这就是为什么当您尝试通过重力居中时项目位于顶部的原因。如果你想象一堆盘子......你不能从中间开始:-)

于 2012-09-24T17:58:58.883 回答