我正在尝试在Android中实现某种“外观”,而这种外观在iOS上很快就可以实现。
到目前为止,这是我的代码:
<!-- Email Label -->
<android.support.design.widget.TextInputLayout
android:id="@+id/tilUsername"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="@dimen/padding_large"
android:layout_marginRight="@dimen/padding_large"
android:layout_marginBottom="1dp"
android:layout_marginTop="4dp"
app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
android:textColorHint="@color/niceblue"
android:hint="Username"
android:theme="@style/TextAppearance.App.TextLabel">
<EditText android:id="@+id/txtUsername"
android:layout_width="match_parent"
style="@style/AppTheme"
android:background="@drawable/textlines_hint"
android:ems="10"
android:padding="6dp"
android:singleLine="true"
android:inputType="textEmailAddress"
android:layout_height="64dp"
android:hint="Login Email" />
</android.support.design.widget.TextInputLayout>
但是,由于提示和标签重叠,因此产生的效果不好。
我要的是ios变体外观。
有人对我们如何正确对齐提示(以及可选的文本)有任何想法,但是由于它仍然是“罗马”字母,因此不能为rtl,我只要求它提示正确的对齐方式和文本正确的对齐方式,包括提示
答案 0 :(得分:0)
为TextInputEditText
使用单个提示或占位符总是更好,它应该是TextInputEditText
的一部分,并且TextInputLayout
的父级将使用子视图中的提示。
但是由于EditText
和TextInputLayout
都需要不同的提示和占位符。您可以尝试在EditText
中使用具有透明文本颜色的幻觉,直到其不聚焦为止。
您的原始布局:
<android.support.design.widget.TextInputLayout
....//Should be same as your xml properties
>
<EditText android:id="@+id/txtUsername"
...//Should be same as your xml properties
android:textColorHint="@drawable/hint_selector"
...
/>
</android.support.design.widget.TextInputLayout>
颜色选择器-EditText提示-hint_selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="?android:textColorHint" />
<item android:color="@android:color/transparent" />
</selector>
上面的选择器将使EditText
中的提示颜色透明,直到该视图未聚焦且不会与您的TextInputLayout
重叠为止。