设置文本重心垂直在 android 编辑文本中不起作用

set text gravity center vertical doesn't work in android edit text

我正在 android 中创建一些自定义 EditText(使用 java 以编程方式),当我想 setGravity 为此 EditText 设置文本时重力在中心垂直,它不起作用。

这是我的 EditText,我用的是 editText.setGravity(Gravity.CENTER_VERTICAL);。但它不会将文本设置为按钮的中心。实际上 editText.setGravity(Gravity.CENTER_HORIZONTAL); 工作正常。

我不想使用 editText.setTextAlignment(); 因为版本 API.

已编辑:

我可以手动设置 EditText 的文本位置吗? With 给它我的高度和 with 或给它一些坐标。

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 文件

也是如此

像下面这样设置重力:

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

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

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