android - 垂直和水平居中 TextView 的内容 - LinearLayout

标签 android android-layout textview android-linearlayout

我试图将 TextView 的上下文垂直和水平居中。请看下面的截图。

enter image description here

显示 1-5100+ 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_verticalcenter_horizo​​ntal

把这段代码扔进去看看吧!

<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/

相关文章:

android - Gridview 多行 Textview 被截断

Android 处理程序仅使用最后一个 setText() 更新 TextView

java - 获取在接口(interface)方法中分配的返回值作为方法?

android - LogCat 中的双击错误行不起作用

android - 如何在Android ImageView 上设置默认加载动画

android - 工具栏标题大写

Android TextView 阴影是如何工作的

android - 如何在Eclipse中导入Android App项目源码?

javascript - 使用 JavaScript 禁用缩放谷歌地图?

ImageView 上的 Android 透明工具栏