我在使用 TextView 和将文本置于文本区域内居中时遇到问题。具体来说,我有一个 TextView,但是当我的文本中包含跨越底部边距的字母(即 p、g、q、y 等)时,这些字母会被截断。我试图将文本居中放置在该区域内,但运气不佳。
[更新] 我现在使用 wrap_content 作为我的高度解决了字母在底部被截断的问题,但发现了另一个问题。现在看来,文本位于该区域的较低位置,在顶部留下了这个空白。我修改了我的布局以反射(reflect)最新的(见下文)。基本上,那些之前被截断的字符(g、y、j 等)正在触及正下方的区域,这很好,但它似乎在顶部留下了填充。我试图将重力更改为 center_vertical 或 center,但运气不佳:
请注意,我必须使用给定 textSizes 的规范(即我无法更改这些值)
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="43.3dip"
android:background="@drawable/custom_bg"
android:orientation="horizontal">
<ImageButton
android:id="@+id/headshot"
android:layout_width="43.3dip"
android:layout_height="43.3dip"
android:src="@drawable/sample"
android:background="@drawable/head_btn"
android:layout_gravity="center" />
<RelativeLayout
android:id="@+id/name_and_email"
android:layout_width="230.7dip"
android:layout_height="43.3dip"
android:orientation="vertical">
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/custom_color"
android:textSize="18.6sp"
android:singleLine="true"
android:ellipsize="end"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:background="#c5ff15"
android:lineSpacingExtra="0sp"
android:text="AaBbCcDdGgJjTtYy" />
<TextView
android:id="@+id/email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/custom_color"
android:textSize="13.3sp"
android:singleLine="true"
android:ellipsize="end"
android:layout_centerInParent="true"
android:layout_below="@id/name"
android:gravity="center_vertical"
android:visibility="gone"
android:text="qypgj@gmail.com" />
</RelativeLayout>
<ImageButton
android:id="@+id/headshot2"
android:layout_width="43.3dip"
android:layout_height="43.3dip"
android:src="@drawable/sample"
android:background="@drawable/head_btn2"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
有人可以帮忙吗? MB
最佳答案
为什么要尝试手动设置高度?使用 layout_height="wrap_content"会好很多。我想问题是您的 14.3sp 文本大小对于您允许的区域来说太大了。
此外,在工具文件夹下可以找到 HeirarchyViewer,这是调试复杂布局的一个很好的资源。
关于android - 在区域内的 TextView 中将文本居中时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419583/