我需要在android中使用样式实现应用程序。我知道,为styles.xml中的每个对象定义样式,可以为Textview,Buttons,editviews ..提供不同的样式,但在spinner的特殊情况下它不起作用。这是我的例子:在Spinner中改变样式的问题
这是布局的main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
style="@style/TextviewVerde"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/escribenombre"
/>
<EditText
style="@style/EditviewAzul"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/TxtNombre"
/>
<Spinner
style="@style/SpinnerRojo"
android:textColor="#FFFFFF"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/TxtSpinner"
android:prompt="@string/seleccionetexto"
/>
<Button
style="@style/BotonBlanco"
android:id="@+id/BtnHola"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pulse aqui"
/>
</LinearLayout>
,这是styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TextviewVerde" >
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">normal</item>
<item name="android:textSize">5pt</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="TextviewRosa" >
<item name="android:textColor">#5F04B4</item>
<item name="android:typeface">normal</item>
<item name="android:textSize">15pt</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="EditviewAzul" >
<item name="android:textColor">#0000FF</item>
<item name="android:textSize">8pt</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:shadowColor">#0000FF</item>
</style>
<style name="SpinnerRojo" >
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#DF0101</item>
<item name="android:gravity">center</item>
<item name="android:typeface">normal</item>
<item name="android:textSize">11pt</item>
<item name="android:drawSelectorOnTop">true</item>
</style>
<style name="BotonBlanco">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">12pt</item>
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:clickable">true</item>
</style>
</resources>
每个对象的效果很好,但微调不改变它的外观。我的老板告诉我,我必须在不改变* .java文件的情况下实现样式,我能做什么?我需要改变的微调选择,backgound的颜色,添加一些图片..等非常感谢您的帮助
您正在覆盖样式中定义的值。请更具体和明确你想要达到的目标。 – 2011-04-18 13:27:04
对于覆盖代码感到抱歉,我想在不改变* .java代码的情况下设计一个微调器,listview等等(我的意思是改变选项的颜色,背景等),因为我知道可以改变微调器的风格编程,但我只想使用样式。 – David 2011-04-18 14:03:53