4

我用以下代码制作了样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">          
        <item name="android:layout_width">150dip</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

并将其应用为:

 <EditText
  style="CodeFont"
  android:id="@+id/txt_username"
  android:inputType="textPersonName" >
  <requestFocus />
  </EditText>

但它没有得到应用。

如果我写相同的风格:

              <EditText
               android:id="@+id/txt_username"
               android:layout_width="150dip"
               android:layout_height="wrap_content"
               android:background="@android:drawable/editbox_background"
               android:ems="10"             
               android:inputType="textPersonName" />

然后它被应用。

我的代码有什么问题吗?

请帮我。

4

7 回答 7

7

使用以下

   style="@style/CodeFont"

有关更多信息,请查看文档

http://developer.android.com/guide/topics/ui/themes.html

还要检查styles.xml

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml

于 2013-09-03T07:09:36.683 回答
3

请更换

style="CodeFont"

style="@style/CodeFont"

这是正确的方法

于 2013-09-04T12:10:25.557 回答
2

你应该使用

style="@style/your_style_xml"

这是在android xml.

于 2013-09-03T07:16:27.900 回答
1

改变

style="CodeFont"

style="@style/CodeFont"
于 2013-09-03T07:10:32.820 回答
1

你应该改变

style="CodeFont"

style="@style/CodeFont"
于 2013-09-03T07:13:33.380 回答
1

只需更改此

style="CodeFont"

对此

style=@style/CodeFont

希望这对你有帮助..

于 2013-09-03T07:19:30.443 回答
1
 **themes.xml**

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ijoomer_theme" parent="define your parent theme here">
    <item name="edittext">@style/CodeFont</item>
</style>
</resources>

**attrs.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="edittext" format="reference" />
</resources>

**style.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
    <item name="android:layout_width">150dip</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#00FF00</item>
    <item name="android:typeface">monospace</item>
</style>
</resources>

**use edittext style**
<EditText
    style="?CodeFont" // this way you use your custom style
    android:id="@+id/txt_username"
    android:inputType="textPersonName" >
    <requestFocus />
</EditText>
于 2013-09-03T07:21:04.633 回答