我似乎总是在布局上对齐文本时遇到的最大问题。好像TextView没有正确测量其文本。报告的TextView宽度和高度比实际文本大很多。人们可以期望TextView的宽度和高度紧紧围绕文本。
下图显示了数字18和文本“SEC”在同一底部基线上的对齐方式。这是因为较大的文本高度比文本大很多。我的xml布局如下所示。
如何实现更好的文本对齐准确度?
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/scan_block_1_bg" >
<LinearLayout
android:id="@+id/staticCountDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tvStaticScanning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shadowColor="#ffffff"
android:shadowDy="1.0"
android:shadowRadius="0.01"
android:text="SCANNING"
android:textColor="#878787"
android:textSize="20sp" />
<TextView
android:id="@+id/tvCountDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shadowColor="#66000000"
android:shadowDy="-1.0"
android:shadowRadius="0.01"
android:text="03"
android:textColor="#b6b6b6"
android:textSize="81sp" />
</LinearLayout>
<TextView
android:id="@+id/tvStaticSeconds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/staticCountDown"
android:layout_toRightOf="@id/staticCountDown"
android:gravity="left"
android:shadowColor="#ffffff"
android:shadowDy="1.0"
android:shadowRadius="0.01"
android:text="SEC"
android:textColor="#878787"
android:textSize="12sp" />
</RelativeLayout>
答案 0 :(得分:4)
//在TextView中使用此属性
android:layout_alignBaseline="@id/staticCountDown"
和android:layout_marginBottom="-10dp"
答案 1 :(得分:1)
如果您查看屏幕截图,可能会发出奇怪的声音。两个文本视图都具有相同的底部对齐方式。尝试在电视倒计时中输入字母“gj”。实际上你可以看到两者都具有相同的底部对齐。最好用padma Kumar的答案。