国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android中使用開源框架Citypickerview實現省市區(qū)三級聯動選擇

2019-12-12 03:26:30
字體:
來源:轉載
供稿:網友

1.概述

記得之前做商城項目,需要在地址選擇中實現省市區(qū)三級聯動,方便用戶快速的填寫地址,當時使用的是一個叫做android-wheel 的開源控件,當時感覺非常好用,唯一麻煩的是需要自己整理并解析省市區(qū)的xml文件,思路很簡單,但是代碼量相對大了些。偶然期間發(fā)現了另外一個開源組件,也就是今天要介紹的citypickerview。

github地址:crazyandcoder/citypicker

2. 實現效果

下面給大家演示下實現效果:

3.   實現方法

(1)添加依賴

dependencies {  ...  compile 'liji.library.dev:citypickerview:0.7.0'}

(2)代碼實現

這里就不在介紹布局文件了,直接演示實現代碼:

package com.mly.panhouye.anchong.activity;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.EditText;import android.widget.TextView;import com.lljjcoder.citypickerview.widget.CityPicker;import com.mly.panhouye.anchong.R;import com.mly.panhouye.anchong.entity.Anchong_Address;import com.mly.panhouye.anchong.view.TitleBarView;import static com.mly.panhouye.anchong.utils.Constant.NEWADDRESS;public class NewAddressActivity extends BaseActivity {  TitleBarView address_manager_titleBar;  EditText new_address_name,new_address_phone,new_address_address;  Anchong_Address newAddress = new Anchong_Address();  TextView new_address_area;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_new_address);    initView();  }  //Texview的點擊事件  public void chooseArea(View view) {    //判斷輸入法的隱藏狀態(tài)    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);    if (imm.isActive()) {      imm.hideSoftInputFromWindow(view.getWindowToken(),          InputMethodManager.HIDE_NOT_ALWAYS);      selectAddress();//調用CityPicker選取區(qū)域    }  }  private void selectAddress() {    CityPicker cityPicker = new CityPicker.Builder(NewAddressActivity.this)        .textSize(14)        .title("地址選擇")        .titleBackgroundColor("#FFFFFF")        .titleTextColor("#696969")        .confirTextColor("#696969")        .cancelTextColor("#696969")        .province("江蘇省")        .city("常州市")        .district("天寧區(qū)")        .textColor(Color.parseColor("#000000"))        .provinceCyclic(true)        .cityCyclic(false)        .districtCyclic(false)        .visibleItemsCount(7)        .itemPadding(10)        .onlyShowProvinceAndCity(false)        .build();    cityPicker.show();    //監(jiān)聽方法,獲取選擇結果    cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {      @Override      public void onSelected(String... citySelected) {        //省份        String province = citySelected[0];        //城市        String city = citySelected[1];        //區(qū)縣(如果設定了兩級聯動,那么該項返回空)        String district = citySelected[2];        //郵編        String code = citySelected[3];        //為TextView賦值        new_address_area.setText(province.trim() + "-" + city.trim() + "-" + district.trim());      }    });  }  @Override  protected void initView() {    new_address_name = (EditText) findViewById(R.id.new_address_name);    new_address_phone = (EditText) findViewById(R.id.new_address_phone);    new_address_address = (EditText) findViewById(R.id.new_address_address);    new_address_area = (TextView) findViewById(R.id.new_address_area);  }}

4.使用說明

摘自github地址:crazyandcoder/citypicker

結果返回

只需傳入Context便可獲取選擇的省市區(qū)域的信息,結果返回四項,可根據自己的實際需求進行選擇。

  1. citySelected[0]:表示:省份信息
  2. citySelected[1]:表示:城市信息
  3. citySelected[2]:表示:區(qū)縣信息
  4. citySelected[3]:表示:郵編信息

方法說明

  1. textSize(滾輪文字的大小,int 類型,默認為18)
  2. title(選擇器標題,默認為“選擇地區(qū)”)
  3. backgroundPop(背景,默認為半透明,16位進制顏色代碼,帶alpha值,如0xa0ffffff)
  4. titleBackgroundColor(標題欄背景,默認為灰色,#C7C7C7)
  5. confirTextColor(確認按鈕字體顏色,默認為系統(tǒng)的colorPrimary顏色值)
  6. cancelTextColor(取消按鈕字體顏色,默認為系統(tǒng)的colorPrimary顏色值)
  7. province(默認的顯示省份,顯示選擇器后直接定位的item位置)
  8. city(默認的顯示市,顯示選擇器后直接定位的item位置)
  9. district(默認的顯示區(qū),顯示選擇器后直接定位的item位置)
  10. textColor(滾輪文字的顏色 ,int 類型,默認為0xFF585858)
  11. provinceCyclic(省份的滾輪是否循環(huán)滾動)
  12. cityCyclic(市的滾輪是否循環(huán)滾動)
  13. districtCyclic(區(qū)的滾輪是否循環(huán)滾動)
  14. visibleItemsCount(滾輪顯示的item個數,int 類型,默認為5個)
  15. itemPadding(滾輪item間距,默認為5dp)
  16. onlyShowProvinceAndCity(boolean flag)(是否只顯示省份和市的兩級聯動,去掉區(qū)或者縣)
  17. titleTextColor(標題文字顏色,默認為 #E9E9E9)

以上所述是小編給大家介紹的Android中使用開源框架Citypickerview實現省市區(qū)三級聯動選擇,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丽水市| 墨竹工卡县| 霍邱县| 连江县| 新蔡县| 乳山市| 西安市| 苏尼特左旗| 积石山| 阳春市| 泽州县| 台州市| 巴南区| 冕宁县| 洪雅县| 贵定县| 靖西县| 伽师县| 桂平市| 丹东市| 汕尾市| 博客| 咸丰县| 阿克苏市| 琼海市| 壤塘县| 尉犁县| 五家渠市| 顺义区| 鲁山县| 汝阳县| 革吉县| 塔城市| 昌都县| 莱芜市| 泸州市| 根河市| 金湖县| 伽师县| 高台县| 巍山|