首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓: TextInputLayout不会把提示放在中心

问安卓: TextInputLayout不会把提示放在中心
EN

Stack Overflow用户
提问于 2015-07-30 13:03:50
回答 2查看 6.1K关注 0票数 9

我在一个来自支持库的文本输入布局中包含了一个编辑文本,我发现不可能使提示出现在字段的中心。我尝试过在其他堆栈溢出讨论中找到所有常见的技巧,从代码示例中可以看到,但是提示仍然顽固地出现在编辑文本的左边。我怎么才能解决这个问题?

请不要建议使用paddingLeft或paddingStart来做这件事--我想要一些能在不同设备上干净地工作的东西,所以它必须是一个直截了当的解决方案,而不是一个解决办法。

首先要澄清的是:如果我删除了textinputlayout,那么提示就正确地居中了。正是文本输入布局导致了这里的问题。

代码语言:javascript
复制
<android.support.design.widget.TextInputLayout
        android:id="@+id/someId"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginStart="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginEnd="30dp"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:ellipsize="start"
        android:maxLines="1"
        android:inputType="textPersonName"
        >

    <EditText
        android:id="@+id/someId"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:hint="@string/somehint"
        android:textColorHint="@color/somecolor"
        android:textSize="20sp"
        android:textColor="@android:color/black"
        android:background="@android:color/white"
        android:cursorVisible="true"
        android:textCursorDrawable="@null"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:inputType="textPersonName"
        android:maxLines="1"
        android:ellipsize="start"
        />

</android.support.design.widget.TextInputLayout>

使用支持库的最新版本:

代码语言:javascript
复制
    compile 'com.android.support:design:22.2.1'

编辑-我试着解决这个问题:

1)用android.support.v7.widget.AppCompatEditText替换编辑文本-不起作用

2)在textinputlayout中使用app:hintTextAppearance="@style/TextAppearance.AppCompat“-不起作用

3)在活动中使用textinputlayout.sethint编程地设置提示,而不是在编辑文本中定义提示--不起作用:提示出现在左侧。

4)在onActivityCreated中设置编辑文本的提示。这似乎一开始就起作用了,但我发现,虽然提示以中心位置出现,但inputtextlayout布局的功能会中断,单击编辑文本将不再执行提示动画。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-02 07:24:38

似乎没有办法做到这一点(至少我找不到)。作为解决办法,我尝试使用MaterialEdittext第三方库-也不理想,因为虽然小的动画提示是居中的,但它出现在文本框中,而不是在文本框之外:

https://github.com/rengwuxian/MaterialEditText

票数 0
EN

Stack Overflow用户

发布于 2019-08-05 09:43:11

要使提示文本在EditText中居中,只需在EditText中添加以下两个属性即可。这就行了。

代码语言:javascript
复制
android:ellipsize="start"
android:gravity="center_horizontal"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31724585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档