所以,标题有点混乱,我知道,但我想要的基本上是一个通知框,它有一个彩色背景和边框出现在屏幕的中央,但没有拉伸。
我已经拥有自定义视图,制作背景和边框,但如果我制作“width:fill_parent”和“height:wrap_content”,它将显示在屏幕顶部,如果我将高度设置为fill_parent,整个屏幕将充满背景(我知道会发生这种情况)。
我还尝试了一种更简单的方法,将layout_gravity设置为居中,但没有帮助。视图位于垂直线性布局内,它是唯一可见的视图(所有其他元素都具有visibility = View.GONE)。
我应该如何编写自定义视图的onDraw()以便能够放置height:fill_parent并让后台遵守wrap_content规则?我们也欢迎更简单,更好的解决方案。
答案 0 :(得分:1)
我认为问题在于它嵌套在LinearLayout中。
中试用“旨在阻挡屏幕上的区域以显示单个区域 项目“
然后,您应该可以将自定义视图置于透明背景FrameLayout
上编辑:澄清为什么我认为LinearLayout是问题所在。一个LinearLayout像堆栈一样填满,这就是为什么当你试图通过重力居中时项目位于顶部。如果你想象一堆盘子......你不能从中间开始: - )