Android编辑文本alignment

我正在为平板电脑制作一个小应用程序,就像一个显示标志。

我有几个显示标志中心alignment的文本元素。 当我点击它,它被转换为editText。 我希望编辑文本的方式使其中的文本是中心alignment和内容包装。 但是,当我input的东西,editText扩展两种方式,保持文本alignment的中心。 我想用右alignment的文本元素来做同样的事情(唯一不同的是编辑文本只会向左扩展)。

当我正在尝试这样做时,它向左扩展。这是我编写的编辑文本元素的代码

tempView=new EditText(this); ((EditText) tempView).setTextSize(shrinkedFontSize); ((EditText) tempView).setTypeface(tf); ((EditText) tempView).setText(tempInput.getText()); ((EditText) tempView).setGravity(Gravity.CENTER); layout.addView(tempView, tempParams); 

我在布局参数中将布局的宽度设置为Wrap_content。 我也在编辑文本左上angular的布局参数中指定了x和y。

有没有办法做到这一点?

Solutions Collecting From Web of "Android编辑文本alignment"

这应该可以解决您的问题:

 EditText t = (EditText) findViewById(R.id.text); t.setGravity(Gravity.CENTER); 

…在XML中:

 <EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" /> 

它使得EditText的inputField文字水平居中。

您可以将fill_parentlayout_width fill_parent为150 dp或其他任何大小,但不能更改wrap_content 。 文本将水平居中。

设置t.setGravity(Gravity.RIGHT);LEFT ,使input的文本向左或向右alignment。

这是一个testing更简单的解决scheme。 只需将android:gravity="center"到布局XML文件中,即可将文本alignment到EditText的中心。 没有必要更改Java代码。

 <EditText android:id="@+id/LastName" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/back" android:inputType="numberDecimal" android:gravity="center" />