设置文本重心垂直在android编辑文本中不起作用
Posted
技术标签:
【中文标题】设置文本重心垂直在android编辑文本中不起作用【英文标题】:set text gravity center vertical doesn't work in android edit text 【发布时间】: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 代码。 【参考方案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_
android:layout_
android:gravity="center_horizontal" />
如果您想同时应用CENTER_VERTICAL
和CENTER_HORIZONTAL
,可以使用中心Gravity.CENTER。 xml 文件也是如此
【讨论】:
这个结果如何? 什么也没发生。文本仍然在 EditText 的顶部。请查看我的问题编辑。【参考方案2】:请检查以下答案以使文本居中。
<EditText
android:id="@+id/Name"
android:layout_
android:layout_
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);
【讨论】:
以上是关于设置文本重心垂直在android编辑文本中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Summernote 文本编辑器在生成 html 的简单引导页面中不起作用