android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定需要为了切合整个应用的风格,修改我们的Spinner样式。系统给我们提供了两种常见的修改方式,一个是用XML方式静态,另一个就是Java代码动态来修改啦,我们这篇文章呢主要就是介绍如何动态修改Spinner的样式。我的实现方法呢,是自己构造一个SpinnerAdapter,继承来自ArrayAdapter,重写getDropDownView(),getView()这两个方法就好了,其他的方法并不关键,跟其他ListView之类的并无太大差别。那么现在我们就直接来看代码解析把!

package com.example.account.add;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;public class SpinnerAdapter extends ArrayAdapter<String> {private Context mContext;private String[] mStringArray;public SpinnerAdapter(Context context, String[] stringArray) {super(context, android.R.layout.simple_spinner_item, stringArray);mContext = context;mStringArray = stringArray;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {// 修改Spinner展开后的字体颜色if (convertView == null) {LayoutInflater inflater = LayoutInflater.from(mContext);//我们也可以加载自己的Layout布局convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent,false);}TextView tv = (TextView) convertView.findViewById(android.R.id.text1);tv.setText(mStringArray[position]);tv.setTextSize(15);return convertView;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 修改Spinner选择后结果的字体颜色if (convertView == null) {LayoutInflater inflater = LayoutInflater.from(mContext);convertView = inflater.inflate(android.R.layout.simple_spinner_item, parent, false);}// 此处text1是Spinner系统的用来显示文字的TextViewTextView tv = (TextView) convertView.findViewById(android.R.id.text1);tv.setText(mStringArray[position]);tv.setTextSize(15); return convertView;}}

Android开发之自定义Spinner样式的效果实现(源代码实现)相关推荐

  1. android hint格式,自定义Spinner样式以及实现hint效果

    android中有个Spinner控件,也就是下拉控件.但是初始的样式比较不好看,所以想着更改下样式.这样就不需要一直用EditText+popupwindow的方式来实现这种效果,会比较这种方式更简 ...

  2. 【Android开发】自定义圆角button样式

    [Android开发]自定义圆角button样式 结果图 步骤 在res/drawable中新建一个drawable文件,自定义命名为btu.xml; 在btu.xml中设置圆角大小和填充颜色,代码如 ...

  3. android 小球效果,Android开发实现跟随手指的小球效果示例

    本文实例讲述了android开发实现跟随手指的小球效果.分享给大家供大家参考,具体如下: 配置drawview类用于绘制小球 public class drawview extends view { ...

  4. android动画送礼物,Android开发仿映客送礼物效果

    这里写链接内容仿映客送小礼物的特效,顺便复习一下属性动画,话不多说先看效果图. 需求分析 可以看到整个动画有几部分组成,那我们就把每个部分拆分出来各个击破. 1.要显示那些内容以及内容间的位置关系? ...

  5. android实现新闻内容显示功能,Android开发实现自定义新闻加载页面功能实例

    本文实例讲述了Android开发实现自定义新闻加载页面功能.分享给大家供大家参考,具体如下: 一.概述: 1.效果演示: 2.说明:在新闻页面刚加载的时候,一般会出现五种状态 未知状态(STATE_U ...

  6. 《Android开发卷——自定义日期选择器(三)》

                 继 <Android开发卷--自定义日期选择器(一)>:http://blog.csdn.net/chillax_li/article/details/19047 ...

  7. android自定义横竖双向滚动,Android开发实现自定义水平滚动的容器示例

    Android开发实现自定义水平滚动的容器示例 发布时间:2020-09-12 01:25:56 来源:脚本之家 阅读:71 作者:CharlinGod 本文实例讲述了Android开发实现自定义水平 ...

  8. android中帧布局效果,Android开发实现布局帧布局霓虹灯效果示例

    本文实例讲述了android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: framelayout中,设置8个textview,在主函数中,设计颜色数组,通过有序 ...

  9. 《Android开发卷——自定义日期选择器(二)》

    (小米手机) (中兴手机) 在上一篇中,我介绍了一般公司都会自定义时间日期选择器,并结合自己所做的项目给大家参考. 工作实录之<Android开发卷--自定义日期选择器(一)>链接:htt ...

最新文章

  1. DataGrid的几个小技巧
  2. 学会 IDEA REST Client后,postman就可以丢掉了...
  3. 零基础 8 周掌握 Python,成为全能人才!
  4. linux使用free命令查看内存占用
  5. typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
  6. code block怎样导入整个文件夹_按需分配随时可用的在线开发环境:弹性容器+code-server踩坑记...
  7. SVN数据代码迁移Windows2012ServerR2
  8. 程序员经典面试题,高并发系统,一般需要怎么做
  9. redis设置密码(redis-cli)
  10. 关于 Android Service 的介绍都在这了
  11. cloudera-scm-agent 已死,但 pid 文件存在
  12. 20210725:FLAC刻录音乐CD教程01-下载安装Nero打补丁
  13. vue项目实战(移动端)
  14. 4.2-软件开发中,“思维导图”的作用与绘制方法介绍
  15. 平面设计中都有哪些风格?常用的风格有哪些?
  16. 第一次进入页面,访问服务器图片报404,刷新或者回退重新进入,就可以加载图片。
  17. 如何训练GAN?训练GAN的技巧和方法
  18. spring和servlet之间得关系
  19. CSRF攻击原理及防护
  20. Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现

热门文章

  1. 内存条结构_CPU是电脑里最难坏的硬件,为什么不敢终身质保,而内存条却可以...
  2. j2ee与mysql乱码过滤_mysql 在 j2ee中配置的乱码问题处理
  3. 3d旋转相册代码源码_实现可旋转的Reflection Probe(原创)
  4. 记录一下python-opencv-ArUco-Apriltag
  5. linux常用指令_Linux系统常用指令总结
  6. Thrift架构~thrift中间语言的认识(只有它什么都不是,它才有可能什么都是)
  7. eclipse常用插件安装
  8. #define 的换行问题
  9. vuepress 跑不起来?报错?空白页? res.getHeader is not a function?
  10. 微信小程序的wxss好难啊,记录我的搞笑界面