Android 最簡單的三級聯動(地區)第三方庫實現
阿新 • • 發佈:2019-01-07
一 : 效果圖展示
二 因為用到是第三方庫,要匯入下面的依賴
1 compile 'liji.library.dev:citypickerview:1.1.0'
2 xml佈局:
<RelativeLayout android:id="@+id/mDiQu" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:background="@drawable/biankuan1"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:text="地區" android:textColor="@color/heise" android:textSize="16dp" /> <TextView android:id="@+id/mDiQuSanJiLianDong" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_margin="10dp" /> </RelativeLayout>
3 主要的ManeActivity的程式碼:
public class MyXinXiActivity extends AppCompatActivity { @BindView(R.id.mDiQuSanJiLianDong) TextView mDiQuSanJiLianDong; @BindView(R.id.mDiQu) RelativeLayout mDiQu; private CityPicker mCP; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_xin_xi); } @OnClick({R.id.mDiQu}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.mDiQu: mYunCityPicher(); mCP.show(); break; } } public void mYunCityPicher() { mCP = new CityPicker.Builder(MyXinXiActivity.this) .textSize(20) //地址選擇 .title("地址選擇") .backgroundPop(0xa0000000) //文字的顏色 .titleBackgroundColor("#0CB6CA") .titleTextColor("#000000") .backgroundPop(0xa0000000) .confirTextColor("#000000") .cancelTextColor("#000000") .province("xx省") .city("xx市") .district("xx區") //滑輪文字的顏色 .textColor(Color.parseColor("#000000")) //省滑輪是否迴圈顯示 .provinceCyclic(true) //市滑輪是否迴圈顯示 .cityCyclic(false) //地區(縣)滑輪是否迴圈顯示 .districtCyclic(false) //滑輪顯示的item個數 .visibleItemsCount(7) //滑輪item間距 .itemPadding(10) .onlyShowProvinceAndCity(false) .build(); //監聽 mCP.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() { @Override public void onSelected(String... citySelected) { //省 String province = citySelected[0]; //市 String city = citySelected[1]; //區。縣。(兩級聯動,必須返回空) String district = citySelected[2]; //郵證編碼 String code = citySelected[3]; mDiQuSanJiLianDong.setText(province + city + district); } @Override public void onCancel() { } }); } }
好了,程式碼貼完了 ,是不是很簡單