Android中的自定义Textview,高度= fill_parent,但背景填充仅为wrap_content

时间:2012-09-24 17:52:13

标签: android android-layout textview android-custom-view

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

我已经拥有自定义视图,制作背景和边框,但如果我制作“width:fill_parent”和“height:wrap_content”,它将显示在屏幕顶部,如果我将高度设置为fill_parent,整个屏幕将充满背景(我知道会发生这种情况)。

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

我应该如何编写自定义视图的onDraw()以便能够放置height:fill_parent并让后台遵守wrap_content规则?我们也欢迎更简单,更好的解决方案。

1 个答案:

答案 0 :(得分:1)

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

FrameLayout

中试用
  

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

然后,您应该可以将自定义视图置于透明背景FrameLayout

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