【问题标题】:set text gravity center vertical doesn't work in android edit text设置文本重心垂直在android编辑文本中不起作用
【发布时间】:2016-09-30 20:59:54
【问题描述】:

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

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

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

已编辑:

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

【问题讨论】:

  • 请发布edittext xml代码和java代码
  • 贴代码太复杂了。但我可以向你保证,我正确地创建了 EditText。而且我只使用没有任何 xml 代码的 java 代码。

标签: java android android-edittext android-gravity


【解决方案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 文件也是如此

【讨论】:

  • 这个结果如何?
  • 什么也没发生。文本仍然在 EditText 的顶部。请查看我的问题编辑。
【解决方案2】:

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

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

【讨论】:

  • 起初我想要一些带有java代码的东西。我把你的代码转成java代码后就不行了。
【解决方案3】:

如下设置重力:

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

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多