我有一个RelativeLayout
(我没有和他结婚)和两个TextView
。我希望第一个TextView
的底部与其父级的中心对齐,而第二个TextView
的顶部与其父级的中心对齐。
我在上图中在父母的(垂直)中心放了一条绿线。 TextView
目前正好位于正确的位置,但我这样做了,我将在下面描述边缘并将它们与父母对齐并知道父母的大小。
出于各种原因,我不能只使用一个TextView
并将其居中。另外我不知道父母的高度,所以我不能将每个对齐到父母的顶部/底部,并将它们向下/向上边缘以使它们居中。
我还试过让另一个View
占据一半的高度并且为invisible
,但layout_height
不占用百分比(或者至少它给了我错误)。
我有什么想法可以做到这一点?
我应该将两个TextView
放在另一个布局中并拥有该中心吗?
答案 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
。它可能不是您正在执行的订单项,但如果是,只是指出它。