我试图将 TextView 的上下文垂直和水平居中。请看下面的截图。
显示 1-5
和 100+ Points
的 TextView 是我想要垂直和水平居中的那些。如您所见,它们水平居中但不是垂直居中。以下是我正在使用的代码。
<LinearLayout
android:id="@+id/linearlayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/l1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/g1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/c1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
</LinearLayout>
同样,这个问题是如何将 TextView 的内容居中,而不是如何在 LinearLayout 中将 TextView 居中。那么,如何在 TextView 中以两种方式将内容居中?
最佳答案
这是你的问题:
android:layout_height="wrap_content"
您的 TextView
设置为 wrap_content
,这意味着没有垂直对齐的空间。要解决此问题,请设置固定的行高。在下面的示例中,我使用了 50dp;但是,它可以设置为您想要的任何值。
P.S - android:gravity="center"
处理 center_vertical
和 center_horizontal
。
把这段代码扔进去看看吧!
<LinearLayout
android:id="@+id/linearlayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/l1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center" />
<TextView
android:id="@+id/g1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center" />
<TextView
android:id="@+id/c1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center" />
</LinearLayout>
关于android - 垂直和水平居中 TextView 的内容 - LinearLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20055863/