设置文本重力中心垂直不在android编辑文本中工作

时间:2016-06-01 13:04:57

标签: java android android-edittext android-gravity

我在android中创建了一些自定义EditText(以java编程方式),当我想setGravityEditText设置文本引力在垂直中心时,它没有&#39工作。

enter image description here

以下是我的EditText,我使用了editText.setGravity(Gravity.CENTER_VERTICAL);。但它并没有将文本设置为按钮的中心。实际上editText.setGravity(Gravity.CENTER_HORIZONTAL);正常工作。

由于版本API,我不想使用editText.setTextAlignment();

编辑:

我可以手动设置EditText的文字位置吗?给它我的高度,并给出一些坐标。

3 个答案:

答案 0 :(得分:1)

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER_HORIZONTAL;

editText.setLayoutParams(params);

这是你可以通过编程方式设置重力的方法

XML文件中的

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal" />

如果您要同时应用CENTER_VERTICALCENTER_HORIZONTAL,则可以使用中心 Gravity.CENTER 。同样适用于xml文件

答案 1 :(得分:1)

请检查下面的答案以使文本居中。

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

答案 2 :(得分:0)

如下设置重力:

TextView ta  = (TextView) findViewById(R.layout.text_view);
LayoutParams lp = new LayoutParams();
lp.gravity= Gravity.CENTER_HORIZONTAL; 
ta.setLayoutParams(lp);