如何在布局中垂直居中两个TextView

时间:2012-12-19 17:43:13

标签: android relativelayout

我有一个RelativeLayout(我没有和他结婚)和两个TextView。我希望第一个TextView的底部与其父级的中心对齐,而第二个TextView的顶部与其父级的中心对齐。

enter image description here

我在上图中在父母的(垂直)中心放了一条绿线。 TextView目前正好位于正确的位置,但我这样做了,我将在下面描述边缘并将它们与父母对齐并知道父母的大小。

出于各种原因,我不能只使用一个TextView并将其居中。另外我不知道父母的高度,所以我不能将每个对齐到父母的顶部/底部,并将它们向下/向上边缘以使它们居中。

我还试过让另一个View占据一半的高度并且为invisible,但layout_height不占用百分比(或者至少它给了我错误)。

我有什么想法可以做到这一点?

我应该将两个TextView放在另一个布局中并拥有该中心吗?

2 个答案:

答案 0 :(得分:20)

创建一个以其父级为中心的0高度视图,并用作锚点。 (为此使用属性android:layout_centerVertical="true"。)将一个文本视图放在锚点上方,另一个文本视图放置在锚点下方。

答案 1 :(得分:2)

之前我使用了一个带有两个TextView的垂直LinearLayout解决了这个问题。

ps:Android设计指南http://developer.android.com/design/patterns/pure-android.html具体指向Don't use right-pointing carets on line items。它可能不是您正在执行的订单项,但如果是,只是指出它。