EditText中的文本不在具有中心标记的中心

时间:2016-06-07 17:50:32

标签: android xml text android-edittext centering

大家好。

我为我的应用创建了一个页面,输入的文字不是垂直居中的。随后是XML截图。我玩过xml部分并没有得到任何结果。

enter image description here

这是XML部分:

CGRectMake(0, 0, self.view.frame.width, self.view.frame.height - tabBarController.view.frame.height))

我还在EditText上使用填充,但不幸的是没有用。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f3f2f2"
    android:orientation="vertical"
    android:weightSum="10.0" >
    <!-- Header -->
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1.5" >

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clickable="false"
                android:scaleType="fitXY"
                android:src="@drawable/header_half" />
        </FrameLayout>
    </FrameLayout>

    <TextView
        android:id="@+id/header_title_free_vib_xml"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center"
        android:text="@string/free_vibration_one_line_strg"
        android:textColor="#ed1c24"
        android:textSize="24dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="6.0"
        android:orientation="horizontal" >

        <View
            android:layout_width="20dp"
            android:layout_height="match_parent"
            android:background="#838383" />

        <LinearLayout
            android:id="@+id/big_body_center_edittext"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:weightSum="10.0" >

            <!-- Mass -->

            <LinearLayout
                android:id="@+id/ll_mass_xml"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="15dp"
                android:layout_weight="2.0"
                android:orientation="horizontal"
                android:weightSum="100.0" >

                <TextView
                    android:id="@+id/tv_mass_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="20.0"
                    android:gravity="left|center"
                    android:text="@string/mass_strg"
                    android:textColor="#838383"
                    android:textSize="16dp" />

                <EditText
                    android:id="@+id/et_mass_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="70.0"
                    android:background="#e7e7e7"
                    android:cursorVisible="false"
                    android:gravity="center"
                    android:hint="@string/mass_boundary_for_editext_strg"
                    android:inputType="numberDecimal"
                    android:textColor="#bcbcbc" />

                <TextView
                    android:id="@+id/tv_mass_unit_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="10.0"
                    android:background="#adadad"
                    android:gravity="center"
                    android:text="@string/cm_strg"
                    android:textColor="#f3f2f2"
                    android:textSize="10dp" />
            </LinearLayout>

            <!-- Stiffness -->

            <LinearLayout
                android:id="@+id/ll_stiffness_xml"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="20dp"
                android:layout_weight="2.0"
                android:orientation="horizontal"
                android:weightSum="100.0" >

                <TextView
                    android:id="@+id/tv_stiffness_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="20.0"
                    android:gravity="left|center"
                    android:text="@string/stiffness_strg"
                    android:textColor="#838383"
                    android:textSize="16dp" />

                <EditText
                    android:id="@+id/et_stiffness_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="70.0"
                    android:background="#e7e7e7"
                    android:cursorVisible="false"
                    android:gravity="center"
                    android:hint="@string/mass_boundary_for_editext_strg"
                    android:inputType="numberDecimal"
                    android:textColor="#bcbcbc" />

                <TextView
                    android:id="@+id/tv_stiffness_unit_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="10.0"
                    android:background="#adadad"
                    android:gravity="center"
                    android:text="@string/cm_strg"
                    android:textColor="#f3f2f2"
                    android:textSize="10dp" />
            </LinearLayout>

            <!-- Damping -->

            <LinearLayout
                android:id="@+id/ll_damping_xml"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="20dp"
                android:layout_weight="2.0"
                android:orientation="horizontal"
                android:weightSum="100.0" >

                <TextView
                    android:id="@+id/tv_damping_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="20.0"
                    android:gravity="left|center"
                    android:text="@string/damping_strg"
                    android:textColor="#838383"
                    android:textSize="16dp" />

                <EditText
                    android:id="@+id/et_damping_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="70.0"
                    android:background="#e7e7e7"
                    android:cursorVisible="false"
                    android:gravity="center"
                    android:hint="@string/damping_boundary_for_editext_strg"
                    android:inputType="numberDecimal"
                    android:textColor="#bcbcbc" />

                <TextView
                    android:id="@+id/tv_damping_unit_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="10.0"
                    android:background="#adadad"
                    android:gravity="center"
                    android:text="@string/cm_strg"
                    android:textColor="#f3f2f2"
                    android:textSize="10dp" />
            </LinearLayout>

            <!-- Boundary Conditions -->

            <LinearLayout
                android:id="@+id/ll_boundary_conditions_xml"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="20dp"
                android:layout_weight="4.0"
                android:orientation="horizontal"
                android:weightSum="100.0" >

                <TextView
                    android:id="@+id/tv_boundary_conditions_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="20.0"
                    android:gravity="left|center"
                    android:text="@string/boundary_conditions_strg"
                    android:textColor="#838383"
                    android:textSize="12dp" />

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="70.0"
                    android:orientation="vertical"
                    android:weightSum="2.0" >

                    <EditText
                        android:id="@+id/et_bc_initial_velocity_xml"
                        android:layout_width="fill_parent"
                        android:layout_height="0dp"
                        android:layout_weight="1.0"
                        android:background="#e7e7e7"
                        android:cursorVisible="false"
                        android:gravity="center"
                        android:hint="@string/bc_inivelo_boundary_for_et_strg"
                        android:inputType="numberDecimal"
                        android:textColor="#bcbcbc" />

                    <EditText
                        android:id="@+id/et_bc_initial_displacement_xml"
                        android:layout_width="fill_parent"
                        android:layout_height="0dp"
                        android:layout_marginTop="5dp"
                        android:layout_weight="1.0"
                        android:background="#e7e7e7"
                        android:cursorVisible="false"
                        android:gravity="center"
                        android:hint="@string/bc_inidis_boundary_for_et_strg"
                        android:inputType="numberDecimal"
                        android:textColor="#bcbcbc" />
                </LinearLayout>

                <TextView
                    android:id="@+id/tv_boundary_conditions_unit_xml"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="10.0"
                    android:background="#adadad"
                    android:gravity="center"
                    android:text="@string/cm_strg"
                    android:textColor="#f3f2f2"
                    android:textSize="10dp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <!-- END OF ALL EditTexts -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2.0"
        android:gravity="center" >

        <ImageButton
            android:id="@+id/free_vib_proceed_xml"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:layout_gravity="center_horizontal|center"
            android:background="@xml/round_circle_btn"
            android:scaleType="fitXY"
            android:src="@drawable/proceed" />
    </LinearLayout>

</LinearLayout>

我使用TextWatcher来改变提示的大小:

EditText.setPadding(0, 0, 0, 0);

TextWatcher还有其他问题。规则(如果不这么大的话)选择适用于首次活动。删除所有文本并重新输入文本后,它可以正常工作。让我们看一下屏幕截图(其中2个截图来自平板电脑-7和#34;但之前的屏幕截图来自手持电话,Nexus 5。

什么都没碰:

enter image description here

输入一些数字:

enter image description here

删除输入数字和提示大小看起来很好,就像在代码中一样(大if-else):

enter image description here

所有提示必须具有更大的大小,代码中提到的大小(大if-else)但在第一次运行时它仍然很小并且在一些删除并输入接受的大小之后。 我希望提示文本大小与提供的代码类似。

感谢。

2 个答案:

答案 0 :(得分:0)

使用此:

android:gravity="center"     
android:layout_width="match_parent"
android:layout_height="wrap_content"    
android:ellipsize="start" 

这适用于编辑文本

答案 1 :(得分:0)

变化

<EditText
    android:layout_height="wrap_content"
/>

<EditText
    android:layout_height="match_parent"
/>