Android,无法使文本在TextView中垂直居中

时间:2017-01-18 19:19:13

标签: android textview

我在TextView中制作verticaly中心文本时遇到问题。 Android Studio在预览中正确显示文本,在我想要的中心: enter image description here

但是当我将应用程序放到设备(Htc One m8,Android 6)时,文本是底部(不在橙色框的中心(我将TextView设置为橙色以便更好地查看问题所在)。 enter image description here

在xml布局的文本下面,可以看到找到问题的地方? (我删除了部分代码,只添加了主要的相对和线性以及行在哪里出了问题)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="@dimen/main_relative_layout_height_medium"
android:layout_margin="@dimen/main_relative_layout_margin_medium"
android:orientation="vertical"

android:background="@color/widget_relative_layout_background_color"
android:paddingTop="@dimen/main_relative_padding_top_medium">

<!--android:updatePeriodMillis="86400"-->
<LinearLayout
    android:id="@+id/contentContainer"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="@dimen/main_linear_layout_padding_medium"
    android:paddingTop="@dimen/main_linear_layout_padding_top_medium"
    android:paddingBottom="@dimen/main_linear_layout_padding_bottom_medium"
    android:background="@color/widget_linear_layout_background_color"
    android:weightSum="15"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true">

    ...

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="0dp">

         <LinearLayout
            android:orientation="horizontal"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="@dimen/times_row_size_medium"
            android:paddingTop="0dp">


             <LinearLayout
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="match_parent">

                <ImageView
                    android:layout_width="@dimen/icon_width_size_medium"
                    android:layout_height="wrap_content"
                    android:id="@+id/firstWidgetImageView"
                    android:layout_column="1"
                    android:src="@drawable/ic_time_to_departure_white"
                    android:layout_gravity="center"
                    />
            </LinearLayout>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center_horizontal"
                    android:text="02:41"
                    android:layout_column="0"
                    android:textColor="@color/widgetTextColor"
                    android:id="@+id/firstTimeTextView"
                    android:textSize="@dimen/first_time_text_size_medium"
                    android:background="@color/application_button_color" />

            </LinearLayout>

            ...

        </LinearLayout> 
    </FrameLayout>  

2 个答案:

答案 0 :(得分:2)

您已在TextView中使用center_horizontal将其更改为center,您应该没问题。

代码示例:

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="02:41"
    android:layout_column="0"
    android:textColor="@color/widgetTextColor"
    android:id="@+id/firstTimeTextView"
    android:textSize="@dimen/first_time_text_size_medium"
    android:background="@color/application_button_color" />

答案 1 :(得分:0)

In [13]: test.loc[test.A.str.contains(r'[js]')]
Out[13]:
       A  B
0     j1  1
1     j4  2
2  abjul  3
5     s1  6
6   asep  7

请看一下上面的代码。您需要将重力从center_horizo​​ntal替换为居中。