如何通过@style设置EditText背景和ellipsize属性?

时间:2012-03-22 08:46:22

标签: android android-edittext android-styles

我的XML中有EditText

<!-- Inside RelativeLayout -->
<EditText
    android:id="@+id/edtEmail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/edtPhone"
    android:layout_alignLeft="@id/strut"
    android:layout_alignBaseline="@+id/txtLabelEmail"
    android:inputType="textEmailAddress"
    android:singleLine="true"
    android:imeOptions="actionDone"
    android:hint="@string/profile_email_hint"
    style="@style/listTextValue"
    android:background="@drawable/edittext_bg"
    android:ellipsize="end" />

风格

<style name="listTextValue" parent="android:Widget.EditText">
    <item name="android:textSize">@dimen/listTextSize</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:background">@drawable/edittext_bg</item>
    <item name="android:focusable">true</item>
    <item name="android:focusableInTouchMode">true</item>
    <item name="android:singleLine">true</item>
    <item name="android:ellipsize">end</item>
</style>

如果我从Layout xml中的EditText中删除背景属性,背景图片将会消失。 如果我从Layout xml中的EditText中删除 ellipsize 属性,则提示文本将扩展为两行。

由于这个属性在Eclipse的建议中可以使用Style,为什么它们在放入样式时不起作用?

编辑:我的错误,GUI编辑器没有显示背景。这是另一个屏幕。

我有另一个具有EditText相同属性的布局XML,背景显示正确。

布局之间的区别在于第一个在Fragment中使用,而后者直接在Activity中使用。

这很奇怪:S

1 个答案:

答案 0 :(得分:1)

我认为你应该尝试android:textAppearance="@style/your_style"。它适用于TextViewTextViewEditText的父级。我认为它也应该有用。