Jon*_*Jon 9 java user-interface android android-edittext
我已经从支持库textinputlayout内封闭一个EditText,我发现它不可能使提示出现在场地中央.我试着在其他计算器的讨论中发现的所有惯用的招数,你可以从代码示例中看到的,但仍暗示对的EditText左侧固执地出现.我怎么解决这个问题?
请不要建议使用paddingLeft或paddingStart做到这一点 - 我想那将在不同设备上干净工作,所以它必须是直的解决方案,而不是一个解决方法的东西.
需要明确的是:如果我删除textinputlayout,则提示正确居中.这是造成问题的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>
Run Code Online (Sandbox Code Playgroud)
使用最新版本的支持库:
compile 'com.android.support:design:22.2.1'
Run Code Online (Sandbox Code Playgroud)
编辑 - 我试图解决的问题:
1)用android.support.v7.widget.AppCompatEditText替换Edittext - 不起作用
2)在textinputlayout中使用app:hintTextAppearance ="@ style/TextAppearance.AppCompat" - 不起作用
3)不是在edittext中定义提示,而是使用活动内部的textinputlayout.sethint以编程方式设置提示 - 不起作用:提示出现在左侧.
4)在onActivityCreated中设置edittext上的提示.这似乎最初起作用,但我发现尽管提示出现在中心,但inputtextlayout的功能会被破坏,并且单击edittext不再执行提示动画.
似乎没有办法做到这一点(至少我找不到)。作为一种解决方法,我尝试使用 MaterialEdittext 第三方库 - 也不理想,因为虽然小动画提示居中,但它出现在文本框内部而不是外部:
https://github.com/rengwuxian/MaterialEditText
| 归档时间: |
|
| 查看次数: |
2553 次 |
| 最近记录: |