水平线性布局中’基线”对齐导致的问题
在水平线性布局中包含多个TextView 并且字号不统一时,这个时候给TextView设置对齐方式的时候会出现比较诡异的情况
下面是一个例子
它的布局情况如下
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:orientation="horizontal">
<TextView
android:id="@+id/txtProductPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="0dp"
android:text="¥ 45"
android:textColor="#f00"
android:textSize="17sp" />
<TextView
android:id="@+id/txtProductOldPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:ellipsize="end"
android:maxLines="2"
android:text="原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80原价: ¥80"
android:textColor="#999"
android:textSize="11sp" />
</LinearLayout>
这明显与预计的情况不太一样,它们应该是下对齐的.这里就是因为linearlayout中计算了基线对齐的情况.
只需要在linearlayout中加上如下属性即可
android:baselineAligned="false"
去除基线对齐再来看我们的布局.
现在就完全与我们设想的一致了