在Android中我试图做一个RelativeLayout,其中我想在与layout_alignBaseline对齐的东西上使用layout_above,但发现这不能正常工作。
注意:我使用API级别14,15测试,并且一旦安装完毕,我将立即检查19(最新),结果相同。顺便说一句,我指的是Eclipse布局编辑GUI中的外观 - 我没有在真实设备上测试过,但我认为它应该是一致的......
我的真实布局很复杂,但我把它简化为这个简单的例子:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="A"/>
<TextView
android:id="@+id/b"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/a"
android:text="B"/>
<TextView
android:id="@+id/c"
android:layout_alignParentLeft="true"
android:layout_above="@id/b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"/>
</RelativeLayout>
通过这种布局,我希望看到右下角的字母A(是),左下角的字母B(是)和字母B正上方的字母C.事实上,字母C不是出现 - 它似乎位于视图的顶部。
如果使用layout_alignTop或alignBottom替换B上的layout_alignBaseline,因为在此示例中A具有相同的字体大小,这根本不会改变A和B的外观 - 但现在C出现在正确的位置。
我的基本问题是,为什么在使用基线对齐时这不起作用?这是一个错误还是我做错了什么?
注意: