当前位置:操作系统 > 安卓/Android >>

android spinner修改样式

做到一种样式  android 的spinner本身背景样式要黑色的 ,而spinner里的字体也是黑色的 ,spinner 控件的属性里设置TextColor没用  网上找了下  需要定义xml 文件来定义样式   和自定义按钮控件类似;

 

1,首先定义spinenr本身背景的样式:

 

 

Java代码

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true" android:drawable="@drawable/droplist_down" /> 

    <item android:state_focused="true" android:drawable="@drawable/droplist_focus" /> 

    <item android:drawable="@drawable/droplist" /> 

</selector> 

 

 

2,在xml里引用

 

 

Java代码

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation="vertical" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent"> 

     <Spinner  

        android:id="@+id/glucosespin" 

        android:layout_marginLeft="20dp" 

        android:background="@drawable/drop_list" 

        android:layout_width="95dp" 

        android:layout_height="20dp" 

        android:layout_centerHorizontal="true"/> 

</LinearLayout> 

 

 

这样spinner背景就变成了自定义的黑色了

 

3,定义spinner里的字体样式

 

Java代码

<?xml version="1.0" encoding="utf-8"?> 

 

 <TextView xmlns:android="http://schemas.android.com/apk/res/android" 

     android:id="@android:id/text1" 

     style="?android:attr/spinnerDropDownItemStyle" 

     android:singleLine="true" 

     android:layout_width="fill_parent" 

     android:layout_height="wrap_content" 

     android:ellipsize="marquee" 

     android:layout_gravity="center_vertical" 

     android:textColor="#84DB18" 

     android:textSize="12sp"/> 

 4,定义弹出的选择样式

 

Java代码

<?xml version="1.0" encoding="utf-8"?> 

 

 <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 

     android:id="@android:id/text1" 

     style="?android:attr/spinnerDropDownItemStyle" 

     android:singleLine="true" 

     android:layout_width="fill_parent" 

     android:layout_height="?android:attr/listPreferredItemHeight" 

     android:ellipsize="marquee" 

     android:textColor="#84DB18" 

     android:background="#424142"/> 

 

这样,一个spinner就完全变身了额。

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,