Android?省市區(qū)三級(jí)聯(lián)動(dòng)? 滾輪效果
1,顯示的效果圖
2. 首先導(dǎo)入依賴
//3.0依賴?
compile 'liji.library.dev:citypickerview:1.1.0'
//3.1.2 依賴
implementation'liji.library.dev:citypickerview:1.1.0'
3.下面開始代碼編寫
xml布局文件
<LinearLayout
? ? android:id="@+id/mGe_DiQu"
? ? android:gravity="center"
? ? android:orientation="horizontal"
? ? android:layout_width="match_parent"
? ? android:layout_height="40dp">
<TextView
? ? android:textSize="15dp"
? ? android:text="地區(qū)"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content" />
<TextView
? ? android:id="@+id/mGe_HeBei"
? ? android:layout_marginLeft="180dp"
? ? android:textSize="15dp"
? ? android:text="河北省"
? ? android:layout_width="150dp"
? ? android:layout_height="wrap_content" />
</LinearLayout>
4.ManinActivity代碼
package com.example.yu.jiuyuedemos.ui.activity.mine;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class XinXiActivityextends AppCompatActivity {
private GeHeBei?mGeHeBei;
private CityPicker? cityPicker;//城市選擇器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xin_xi);
initView();
}
private void initView() {
adresss = (TextView) findViewById(R.id.adresss);
adresss.setOnClickListener(new View.OnClickListener() {
@Override
? ? ? ? public void onClick(View v) {
initCityPicker();
cityPicker.show();
}
});
}
//城市選擇器
? ? public void initCityPicker() {
//滾輪文字的大小
//滾輪文字的顏色
//省份滾輪是否循環(huán)顯示
//城市滾輪是否循環(huán)顯示
//地區(qū)(縣)滾輪是否循環(huán)顯示
//滾輪顯示的item個(gè)數(shù)
//滾輪item間距
? ? ? ? cityPicker =new CityPicker.Builder(XinXiActivity.this)
.textSize(20)//滾輪文字的大小
? ? ? ? ? ? ? ? .title("地址選擇")
.backgroundPop(0xa0000000)
.titleBackgroundColor("#0CB6CA")
.titleTextColor("#000000")
.backgroundPop(0xa0000000)
.confirTextColor("#000000")
.cancelTextColor("#000000")
.province("xx省")
.city("xx市")
.district("xx區(qū)")
.textColor(Color.parseColor("#000000"))//滾輪文字的顏色
? ? ? ? ? ? ? ? .provinceCyclic(true)//省份滾輪是否循環(huán)顯示
? ? ? ? ? ? ? ? .cityCyclic(false)//城市滾輪是否循環(huán)顯示
? ? ? ? ? ? ? ? .districtCyclic(false)//地區(qū)(縣)滾輪是否循環(huán)顯示
? ? ? ? ? ? ? ? .visibleItemsCount(7)//滾輪顯示的item個(gè)數(shù)
? ? ? ? ? ? ? ? .itemPadding(10)//滾輪item間距
? ? ? ? ? ? ? ? .onlyShowProvinceAndCity(false)
.build();
//監(jiān)聽方法篙悯,獲取選擇結(jié)果
? ? ? ? cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {
@Override
? ? ? ? ? ? public void onSelected(String... citySelected) {
//省份
? ? ? ? ? ? ? ? String province = citySelected[0];
//城市
? ? ? ? ? ? ? ? String city = citySelected[1];
//區(qū)縣(如果設(shè)定了兩級(jí)聯(lián)動(dòng)涮因,那么該項(xiàng)返回空)
? ? ? ? ? ? ? ? String district = citySelected[2];
//郵編
? ? ? ? ? ? ? ? String code = citySelected[3];
mGeHeBei.setText(province + city + district);
Log.e("aaaaaaaaaaaaaa",mGeHeBei.getText().toString());
}
@Override
? ? ? ? ? ? public void onCancel() {
}
});
}
}
代碼如上
摘自github地址:crazyandcoder/citypicker
方法說明
1.textSize(滾輪文字的大小擎厢,int 類型士鸥,默認(rèn)為18)
2.title(選擇器標(biāo)題赁项,默認(rèn)為“選擇地區(qū)”)
3.backgroundPop(背景籽暇,默認(rèn)為半透明,16位進(jìn)制顏色代碼养铸,帶alpha值雁芙,如0xa0ffffff)
4.titleBackgroundColor(標(biāo)題欄背景轧膘,默認(rèn)為灰色,#C7C7C7)
5.confirTextColor(確認(rèn)按鈕字體顏色兔甘,默認(rèn)為系統(tǒng)的colorPrimary顏色值)
6.cancelTextColor(取消按鈕字體顏色谎碍,默認(rèn)為系統(tǒng)的colorPrimary顏色值)
7.province(默認(rèn)的顯示省份,顯示選擇器后直接定位的item位置)
8.city(默認(rèn)的顯示市洞焙,顯示選擇器后直接定位的item位置)
9.district(默認(rèn)的顯示區(qū)蟆淀,顯示選擇器后直接定位的item位置)
10.textColor(滾輪文字的顏色 ,int 類型澡匪,默認(rèn)為0xFF585858)
11.provinceCyclic(省份的滾輪是否循環(huán)滾動(dòng))
12.cityCyclic(市的滾輪是否循環(huán)滾動(dòng))
13.districtCyclic(區(qū)的滾輪是否循環(huán)滾動(dòng))
14熔任,visibleItemsCount(滾輪顯示的item個(gè)數(shù),int 類型唁情,默認(rèn)為5個(gè)),15.itemPadding(滾輪item間距疑苔,默認(rèn)為5dp)
15.onlyShowProvinceAndCity(boolean flag)(是否只顯示省份和市的兩級(jí)聯(lián)動(dòng),去掉區(qū)或者縣)
16.titleTextColor(標(biāo)題文字顏色甸鸟,默認(rèn)為 #E9E9E9)