【发布时间】:2017-01-23 16:39:41
【问题描述】:
更新我的 Android 支持库后,我遇到了一个非常奇怪的问题,尤其是 'com.android.support:design:25.1.0'。请看以下截图:
请注意,相同的代码适用于电子邮件、国家和电话字段,但对于姓名字段,提示“姓名”也在用户姓名后面可见。
以下是代码:
电子邮件代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.touchd.app.ui.views.FontEditText
android:id="@+id/textEmail"
style="@style/loginEditTextView"
android:layout_alignParentBottom="true"
android:gravity="top|center_horizontal"
android:hint="@string/email_text_view"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
以编程方式:
mEmail = (EditText) findViewById(R.id.textEmail);
mEmail.setText(userProfile.email);
名称代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.touchd.app.ui.views.FontEditText
android:id="@+id/textName"
style="@style/loginEditTextView"
android:hint="@string/name"
android:inputType="textPersonName|textCapWords"
android:text="@string/no_name_specified" />
</android.support.design.widget.TextInputLayout>
以编程方式:
mName = (EditText) findViewById(R.id.textName);
if (userProfile.name != null && userProfile.name.length > 0) {
mName.setText(userProfile.name);
}
风格
<style name="loginEditTextView" parent="android:Widget.EditText">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:textColor">@color/primary_text_color</item>
<item name="android:textSize">19sp</item>
<item name="android:gravity">center</item>
<item name="android:paddingBottom">10dp</item>
</style>
你可以看到代码是相似的。有谁可以帮我离开这里吗?这是 Android 设计库中的错误还是我在做一些愚蠢的事情?
【问题讨论】:
-
你能发布样式和 FontEditText 实现吗?
-
FontEditText只是设置字体,没有别的。 -
我添加了样式
-
对于
FontEditText,问题是它扩展了什么 -
也许我明白了。对我来说,问题出在重力属性上:在电子邮件字段中,您使用“top|center_horizontal”覆盖样式,但在名称字段中,您没有,所以它仍然是“中心”。
标签: android android-design-library android-textinputlayout hints