我在一个来自支持库的文本输入布局中包含了一个编辑文本,我发现不可能使提示出现在字段的中心。我尝试过在其他堆栈溢出讨论中找到所有常见的技巧,从代码示例中可以看到,但是提示仍然顽固地出现在编辑文本的左边。我怎么才能解决这个问题?
请不要建议使用paddingLeft或paddingStart来做这件事--我想要一些能在不同设备上干净地工作的东西,所以它必须是一个直截了当的解决方案,而不是一个解决办法。
首先要澄清的是:如果我删除了textinputlayout,那么提示就正确地居中了。正是文本输入布局导致了这里的问题。
<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>使用支持库的最新版本:
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布局的功能会中断,单击编辑文本将不再执行提示动画。
发布于 2015-08-02 07:24:38
似乎没有办法做到这一点(至少我找不到)。作为解决办法,我尝试使用MaterialEdittext第三方库-也不理想,因为虽然小的动画提示是居中的,但它出现在文本框中,而不是在文本框之外:
发布于 2019-08-05 09:43:11
要使提示文本在EditText中居中,只需在EditText中添加以下两个属性即可。这就行了。
android:ellipsize="start"
android:gravity="center_horizontal"https://stackoverflow.com/questions/31724585
复制相似问题