wheel自定义控件,实现城市三级联动,时间选择的功能简单使用_wheeladapter自定义布局-程序员宅基地

技术标签: Android自定义控件篇  WheelView  自定义控件  android  城市选择  多级联动  

                对于android初学者,最烦的就是学习自定义控件。原生的控件不是丑就是无法满足需求,不得以我们只好自己重写控件的方法,下面我就为大家介绍一下某大神自定义的wheel控件Android滚轮控件,基于ListView实现,可以自定义样式。,此控件可以实现城市选择的多级联动,时间选择等多种功能,具体自己DIY呗!


效果图:

      


首先看一下布局main_layout

        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <com.wx.wheelview.widget.WheelView
                android:id="@+id/main_wheelview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1"/>

            <com.wx.wheelview.widget.WheelView
                android:id="@+id/sub_wheelview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1"/>

            <com.wx.wheelview.widget.WheelView
                android:id="@+id/child_wheelview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1"/>
        </LinearLayout>

    接着看MainActivity

/**
     * 联动WheelView
     */
    private void initWheel1() {
        mainWheelView = (WheelView) findViewById(R.id.main_wheelview);
        mainWheelView.setWheelAdapter(new ArrayWheelAdapter(this));  //设置滚轮数据适配器s
        mainWheelView.setSkin(WheelView.Skin.Holo);  //设置背景颜色
        mainWheelView.setWheelData(createMainDatas()); //设置滚轮数据
  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yangxin1113/article/details/51669678

智能推荐

计算机网络—— DNS和CDN那些事_nds cdn-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏2次。前言DNS:keyword:域名解析为IP地址。域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。DNS是一种c/s的结构,客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。 ———百度百科CDN:keyword:就近, 降低拥塞。CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容_nds cdn

在bootstrap的table表格中,设置文本内容居中_bootstrap table 文字剧中-程序员宅基地

文章浏览阅读2.9w次,点赞9次,收藏3次。可以在你需要居中的td中添加class text-center例如:```这里的内容在表格内居中了``` 或者在js中设置表格中所有内容居中,代码如下```$("td,th").addClass("text-center");```_bootstrap table 文字剧中

动态规划_动态规划方法是运筹学方法吗-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏31次。1. 什么是动态规划从数学的视角来看,动态规划是一种运筹学方法,是在多轮决策过程中的最优方法。那么,什么是多轮决策呢?其实多轮决策的每一轮都可以看作是一个子问题。从分治法的视角来看,每个子问题必须相互独立。但在多轮决策中,这个假设显然不成立。这也是动态规划方法产生的原因之一。2. 最短路径问题接下来看一个非常典型的例子,最短路径问题。如下图所示:每个结点是一个位置,每条边是两个位置之间的距离。现在需要求解出一条由 A 到 G 的最短距离是多少。不难发现,我们需要求解的路线是由 A 到 G,这就_动态规划方法是运筹学方法吗

一些数组的操作技巧_清空数组改变原数组-程序员宅基地

文章浏览阅读237次。工作中大多数情况下都是对数组的操作,熟练掌握数组操作的奇淫技巧,对数组运用自如也能提高工作效率。数组去重(改变原数组)先讲两个ES6时代简单的去重方法,都是用Set结构完成: let letters = ['a', 'b', 'c', 'd', 'c', 'b', 'a']; let uniqueLetter = Array.from(new Set(letters)); console.log(uniqueLetter); let uniqueLetter1 = [_清空数组改变原数组

做leetcode过程中遇到heap-use-after-free问题的解决方法-程序员宅基地

文章浏览阅读1.6w次,点赞43次,收藏16次。heap-use-after-free背景:leetcode 25 K个一组翻转链表用了很长时间解决这个问题,过程中心态甚至有一点小小波动。问题截图:问题解释:堆在释放后使用,意思是我使用了释放后的空间吗??(看了程序没有发现问题)由于之前没有遇到过类似问题,所以选择了在网上寻找答案,看看有没有遇到相同问题的同学分享经验:发现有位同学分享的是delete之后再次使用空间,就会报相同错,可是我并没有使用delete。再找了一会发现没有能利用的,大多是对于这个错误的解释和工具使用方法,所以_heap-use-after-free

数字后端基本概念介绍——方向-程序员宅基地

文章浏览阅读1.4k次。今天要介绍的数字后端基本概念是方向的表示方法。人生在世,最重要的是方向感。那在数字后端中,我们是如何去表征各个单元的方向的呢?首先N,S,W,E就是大家熟悉的North,..._数字pr的n方向

随便推点

高并发中 QPS、TPS、RT、Load、PV、UV都是什么意思!_load 与 吞吐量-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏10次。目录一、概述二、指标1、QPS(Queries Per Second)2、TPS (Transactions Per Second)2、RT(Res(onse Time)3、并发数4、吞吐量(Throughput)5、PV(Page View)6、UV(Unique Visitor)7、Load(系统负载)三、结束一、概述分布式、微服务、Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务。但我们搞来搞去_load 与 吞吐量

uniapp 对接高德实现搜索出现地址以及保存搜索记录_vue3uniapp集成高得地图搜索地址页面-程序员宅基地

文章浏览阅读571次。uniapp 对接高德实现搜索出现地址以及保存搜索记录_vue3uniapp集成高得地图搜索地址页面

RandomUtil随机数工具类-程序员宅基地

文章浏览阅读2.1k次。package com.imooc.test;import java.util.ArrayList;import java.util.List;import java.util.Random;public class RandomUtil { /** * 在一定范围内生成给定数量的不重复随机数, 如果开始到结束的数量少于num的数量会抛出数组越界的错误,..._randomutil.randowmint

C语言实现字符串翻转_请从开始到结束完成可以反转字符串的代码段# includecstdio.h ># include <-程序员宅基地

文章浏览阅读5.3k次。题目描述: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有一个字符数组的内容为:”student a am i”,请你将数组的内容改为”i am a student”. 要求: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不能使用库函数。只能开辟有限个空间(空间个数和字符串_请从开始到结束完成可以反转字符串的代码段# includecstdio.h ># include < s

(六)u-boot2013.01.01 for s5pv210:《精简u-boot文件目录,定制自己的目标板》_uboot 2013 精简-程序员宅基地

文章浏览阅读4.8k次,点赞4次,收藏10次。1. 删改U-boot代码结构 把不用到的和与我们s5pv210移植无关的硬件平台代码统统删除,眼不见为净。这样代码看起来就干净利落多了。1.1.进入arch目录,删掉除arm以外的目录处理前:图1处理后:图21.2.进入arch/arm目录,将dts和imx-common这两个目录也一并删除,因为基本不会用到。处_uboot 2013 精简

在 Java 中应用设计模式 - Factory Method_java中的draw和erase方法-程序员宅基地

文章浏览阅读1.6k次。基本概念FactoryMethod是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到Factory Method 模式了.简单说来,Factory Method可以根据不同的条件产生不同的实例,当然这些不同的实例通常是属于相同的类型,具有共同的父类.Factory Metho_java中的draw和erase方法