如何为编辑文本中输入的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>
答案 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);
}
查看截图结果:
答案 1 :(得分:0)
不同重力适用于implementation 'com.google.android.material:material:1.1.0'
及以下版本,但不适用于1.2.0
或以上版本。
要使其在1.1.0
或以下版本中工作,请按照以下步骤操作。
设置TextInputEditText
重力以xml开始
<com.google.android.material.textfield.TextInputEditText id="@+id/text" gravity="start"/>
然后以编程方式将其重力设置为中心
text.gravity=Gravity.CENTER