首先,我想说我尝试(并且大部分都成功)使用纯XML进行样式化。
我有一个列表视图,显示标准的textview。 Everyhting正在运行,包括我的自定义xml定义的drawables。
除了我清晰的“按钮”变为透明的绿色,因为Android 2.2默认。有没有办法改写这个?
下面附有按钮的可绘制代码。渐变的顶部颜色是实心的,底部是100%透明的。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="@color/butttop"
android:endColor="@color/buttbot"
android:angle="270"
android:dither="true"
/>
<!-- <stroke
android:width="1dp"
android:color="@color/stroke2" />-->
<corners
android:radius="20dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="@color/focustop"
android:startColor="@color/focusbot"
android:angle="270" />
<!--<stroke
android:width="1dp"
android:color="@color/stroke1" />-->
<corners
android:radius="20dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="@color/butttop"
android:startColor="@color/buttbot"
android:angle="90" />
<!--<stroke
android:width="1dp"
android:color="@color/stroke1" />-->
<corners
android:radius="20dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
接下来是与他们有关的风格,需要它。 *注意:menubutt是上述文件的名称。
<style name="DrawerItems1">
<item name="android:textSize">16px</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">3</item>
<item name="android:typeface">sans</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/menubutt</item>
</style>
答案 0 :(得分:0)
在https://stackoverflow.com/a/6201407/924939找到答案。适合我。
你必须在ListView中设置 android:listSelector =“@ drawable / listcolor”。
然后用透明纯色(或任何你需要的东西)定义一个名为 listcolor.xml 的drawable,这样就会出现列表项背景,默认的绿色或橙色会消失:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
</shape>
这可能还需要与ListView中的以下代码混合使用:
android:cacheColorHint="@color/transparent"
android:background="@color/transparent"