如何在Android中为TextInputLayout的提示和文本设置不同的重力

时间:2018-04-26 06:10:54

标签: android android-edittext gravity android-textinputlayout

如何为编辑文本中输入的TextInputLayout提示和文本设置不同的重力。我想设置提示引力以启动并将文本的文本重力编辑为中心。那么我怎样才能做到这一点。 这是我的xml代码,

              <android.support.design.widget.TextInputLayout
                        android:id="@+id/email"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:padding="16dp"
                        android:gravity="start">

                        <EditText
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:backgroundTint="@color/grey"
                            android:hint="Email"
                            />
                    </android.support.design.widget.TextInputLayout>

2 个答案:

答案 0 :(得分:1)

在Android中,我们可以通过编程和XML来设置重力 要在中心设置编辑文本提示,请参阅下面的代码,我在XML中使用android:gravity="center"

 <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:backgroundTint="@color/colorAccent"
        android:hint="Email"
        />

要显示顶部|左侧的提示和编辑文本中键入的文本为中心,或者为Android中的TextInputLayout的提示和文本设置不同的重力,您需要尝试下面的代码。

在.xml中你需要设置EditText的提示引力顶部|左边。

<android.support.design.widget.TextInputLayout
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">

<EditText
    android:id="@+id/etName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="top|left"
    android:hint="Email"
    android:backgroundTint="@color/colorAccent"
    />

在您的java(活动)文件中,以编程方式设置EditText的文本重心:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.la`enter code here`yout.activity_main);

        Edittext etName = (EditText)findViewById(R.id.etName);
        etName.setGravity(Gravity.CENTER);
    }

查看截图结果:

enter image description here

答案 1 :(得分:0)

不同重力适用于implementation 'com.google.android.material:material:1.1.0'及以下版本,但不适用于1.2.0或以上版本。 要使其在1.1.0或以下版本中工作,请按照以下步骤操作。

  1. 设置TextInputEditText重力以xml开始

    <com.google.android.material.textfield.TextInputEditText id="@+id/text" gravity="start"/>

  2. 然后以编程方式将其重力设置为中心

    text.gravity=Gravity.CENTER