如何将提示文本集中在Android的EditText中?

我需要将提示文本集中在Android的EditText中。 我该怎么做呢?

为了使提示文本与EditText一起工作,您必须确保定义了android:ellipsize =“start”。 我不知道为什么这会使它工作,但它确实如此。

从个人代码中提取的示例:

 <EditText android:id="@+id/player2Name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:ellipsize="start" android:gravity="center_horizontal" android:hint="@string/player2_name" android:inputType="textCapWords|textPersonName" android:singleLine="true" /> 

其实android:gravity="center_horizontal"做“中心”效果。 您可以使用

机器人:重力=“开始”

将提示文本放在EditText视图的开头等等。

使用这个xml属性:

机器人:比重=“中心”

使用属性

 android:gravity="center" 

我在任何情况下都使用这个代码,而且它不需要使用android:ellipsize =“start”就可以在中心提示。

  <EditText android:id="@+id/player2Name" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:hint="robi" android:inputType="text" /> 

不幸的是,没有答案帮助我alignment提示,用LTR语言编写,而布局方向是RTL。 我需要这样的布局在一种翻译应用程序,使覆盖图标不会干扰RTL文本。 但是,这个技巧并没有提示,而没有任何文本(图标出现在提示之上),我来到下面的Java解决scheme布局的问题:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { . . . if (isRightToLeft()){ EditText guess = (EditText) rootView.findViewById(android.R.id.text1); CharSequence hint = "\u200F" + guess.getHint(); guess.setHint(hint); } . . . } 

诀窍是在从右到左的标记前加一个从左到右的string。 它似乎工作,但有没有人知道一个更优雅的解决scheme?

我认为答案应该是:

 android:textAlignment="center" 

textAlignment为我工作。

 textAlignment="center" 

这对我工作:

 <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/nombreslayoutinput"> <EditText android:id="@+id/nombreslayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/nombres" android:layout_centerInParent="true" android:gravity="center|center_vertical" android:ellipsize="start" android:inputType="textCapWords|textPersonName" /> </android.support.design.widget.TextInputLayout>