转载:http://blog.csdn.net/lmj623565791/article/details/23382805

今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为是Andriod内置的控件,google一把,发现是个github上的一个控件。

下载地址:https://code.google.com/p/android-wheel/    发现很适合做省市县三级联动就做了一个。

先看下效果图:

1、首先导入github上的wheel项目

2、新建个项目,然后选择记得右键->Properties->Android中将wheel添加为lib:

上面两个步骤是导入所有开源项目的过程了。

3、下面开始代码的编写:首先是省市区的json文件,放置在asserts的city.json中:

大概的格式先了解一下,一会代码会根据这样的格式解析

 

  1. {"citylist":  
  2.     [{"p":"河北",  
  3.       "c":[{"n":"石家庄",  
  4.       "a":[{"s":"长安区"},{"s":"桥东区"},{"s":"鹿泉市"}]  
  5.     }]  
  6. }  


4、布局文件,比较简单就3个WheelView分别代表省,市,县,还有一个按钮:

 

 

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:background="#000000"  
  6.     android:orientation="vertical" >  
  7.   
  8.     <TextView  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:layout_gravity="center"  
  12.         android:layout_margin="10dp"  
  13.         android:text="请选择城市"  
  14.         android:textColor="#ffffff"  
  15.         android:textSize="20sp" />  
  16.   
  17.     <LinearLayout  
  18.         android:layout_width="fill_parent"  
  19.         android:layout_height="wrap_content"  
  20.         android:background="@drawable/layout_bg"  
  21.         android:orientation="horizontal" >  
  22.   
  23.         <kankan.wheel.widget.WheelView  
  24.             android:id="@+id/id_province"  
  25.             android:layout_width="0dp"  
  26.             android:layout_height="wrap_content"  
  27.             android:layout_weight="1" >  
  28.         </kankan.wheel.widget.WheelView>  
  29.   
  30.         <kankan.wheel.widget.WheelView  
  31.             android:id="@+id/id_city"  
  32.             android:layout_width="0dp"  
  33.             android:layout_height="wrap_content"  
  34.             android:layout_weight="1" >  
  35.         </kankan.wheel.widget.WheelView>  
  36.   
  37.         <kankan.wheel.widget.WheelView  
  38.             android:id="@+id/id_area"  
  39.             android:layout_width="0dp"  
  40.             android:layout_height="wrap_content"  
  41.             android:layout_weight="1" >  
  42.         </kankan.wheel.widget.WheelView>  
  43.     </LinearLayout>  
  44.       
  45.     <Button   
  46.         android:onClick="showChoose"  
  47.         android:layout_gravity="right"  
  48.         android:layout_width="wrap_content"  
  49.         android:layout_height="wrap_content"  
  50.         android:text="确定"  
  51.         />  
  52.       
  53.   
  54. </LinearLayout>  

5、Activity的编写:注释相当详细,节不赘述了。

 

 

 红色部分是我转载过修复的bug部分

 

源码下载点击这里

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()