使得spinner和spinner中item有不同的背景图片-------自定义spinner,设计出你想要的spinner!

遇到问题描述:

spinner样式的使用,系统自带的不能说是一般的丑,并且跟你设计的风格完全不合拍,但对于spinner通过改变背景

图片的方式使其看起来更加的美观,更符合我们的审美设计。我遇到的问题是,对于item和spinner都设计为同一个背景图片,如果不同,当选择

item之后,item的值会直接把spinner中图片覆盖掉,使得spinner得不到预期的显示,但spinner和item中有相同的背景图片有不太合适。问题就是

使得spinner和spinner中item有不同的背景图片?

 

 

 

 

 

 

 

看一个效果图当点击spinner的时候显示的下拉效果

spinner中的item通过setadapter来进行动态添加,api本身就有一个spinneradapter,重写其中getdropdownview就好了!

1、spinner由两个layout view来自定义,分别负责显示的spinner(如图一部分)和点击后显示的item(如图二部分)的一个布局情况

2、重写adapter方法(网上很多的arrayadapter,但都引用的android.r.layout.simple_spinner_item.xml系统自带),一般是继承baseadapter重写 getView()和getdropdownview这

两个方法。getview修改了spinner中显示的样式(即layout的布局),getdropdownview决定了item中显示的样式。

所有认识清楚了这两点定义自定义的spinner也不是什么难题。

本效果图的作法:

1、定义spinner,设置背景为带有三角标的图片作为背景色。

2、对于getView中和getdropdownview中使相同代码(只是两处的使用layout不一样),layout的不同点也仅仅是背景色不同(getview中的layout没有背景图片,getdropdownview设定了灰色背景图片)

本文主要解决了spinner自定义样式的的问题,对于spinner有了更深的认识。每个人遇到的问题不一样,解决方法也不唯一,仅供参考。

欢迎拍砖!

 

posted @ 2015-04-21 18:03  imbrose  阅读(739)  评论(0编辑  收藏  举报