我构建了一个如下所示的屏幕:
但是如果登录失败,屏幕看起来像这样:
我使用了EditText
,代码如下:
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="email"></TextView>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/username"
android:hint=""
android:textStyle="normal"
android:singleLine="true"
android:inputType="textEmailAddress">
</EditText>
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="password">
</TextView>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/uc_txt_password"
android:hint=""
android:textStyle="normal"
android:singleLine="true"
android:inputType="textPassword">
</EditText>
有什么想法吗?
更新 似乎伪造的显示器是默认显示在冰淇淋三明治上的方式。我正在使用旧版本的android(2.2),其显示器看起来像第一张附加照片。
答案 0 :(得分:2)
ICS推出更加“开放”的文本布局(查看gmail应用程序),其中编辑文本的默认样式缺少边框。如果您不希望它看起来像设备如何设置它,您应该更严格地定义您的样式,使其成为所有设备上的样式。也许使用一些9个补丁图像和状态选择器xml文件。因此,如果您将背景设置为白色并且未定义任何其他样式,则可能会从Holo.Dark继承并将其用作编辑文本bg:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png
因此,没有可见的文字。更严格地定义你的风格,或者更好地设置主题,不要覆盖其他背景。
答案 1 :(得分:0)
尝试使用android选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/editbox_dropdown_background" android:state_focused="false"/>
<item android:drawable="@drawable/editbox_background_focus_yellow" android:state_focused="true"/>
/>
</selector>