不一樣的Android選取器,簡單方便,地址日期時間都好用!,android選取器

來源:互聯網
上載者:User

不一樣的Android選取器,簡單方便,地址日期時間都好用!,android選取器

前言

Android開發有不少情況下會用到Picker,例如選擇 地址、日期、時間。

 

原生Picker和仿iOS的Picker都是上下或左右滑動到固定地區來選擇選項:

顯示數量少,如果當前選項距離需要的選項比較遠就得滑很多次;

滑動不好控制,一不小心就滑過了需要往相反方向慢慢滑回來,很煩人。

 

ZBLibrary中的GridPicker每頁顯示多行多列,大大增加了顯示數量;將滑動選擇改為點擊選擇,大大提高了操作精度。

 

一、原生Picker

 

問題:

1.地址和時間選取器顯示的選項數量少,還只能挨個切換,效率低下

2.日期選取器選擇年份需要點擊最上方年份文字,手指不容易夠到,顯示的選項也較少;

   月份選擇要點擊左右箭頭或左右滑動,只能挨個切換,效率低下

 

 

二、仿iOS的Picker

 

問題:

1.顯示的選項數量少

2.選項只能挨個切換。

3.需要上下滑動到指定方框,不好控制。 

 

 

三、ZBLibrary GridPicker

 以下Gif圖看起來比較卡,實際上手機運行得很流暢

 

  

所有操作都在下半屏,操作輕鬆;

每頁顯示多行多列,大大增加了顯示數量;

將滑動選擇改為點擊選擇,大大提高了操作精度。

 

ZBLibrary GridPicker完美地解決了以上所有問題!

 

 

 

如何使用ZBLibrary GridPicker

1.下載、匯入、依賴ZBLibrary

   點擊右邊連結查看 http://my.oschina.net/u/2437072/blog/665241

 

2.開啟對應Activity並傳值

以日期選取器DatePickerWindow為例: 

 

可以這樣開啟並傳值

toActivity(DatePickerWindow.createIntent(context, new int[]{1971, 0, 1}            , TimeUtil.getDateDetail(System.currentTimeMillis())), 1000, false);

toActivity是ZBLibrary中BaseActivity裡的方法,可以換成startActivityForResult 

 

3.onActivityResult中接收返回結果

    @Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (resultCode != RESULT_OK) {            return;        }                switch (requestCode) {        case 1000:            if (data != null) {                ArrayList<Integer> list = data.getIntegerArrayListExtra(DatePickerWindow.RESULT_DATE_DETAIL_LIST);                if (list != null && list.size() >= 3) {                                        showShortToast("選擇的日期為" + list.get(0) + "-" + (list.get(1) + 1) + "-" + list.get(2));                }            }            break;        default:            break;        }    }

 

 好了。

 如果你連2-3這幾步都懶得做,把ZBLibrary裡的DemoMainActivity.java 複製>粘貼>改名>改代碼 就可以啦!

 

 

事實上ZBLibrary中的地址、日期、時間選取器都是用GridPickerView來控制顯示和操作的,

你也可以使用GridPickerView實現其它用途的選取器。

 

 

ZBLibrary-Android快速開發架構

(歡迎Star,歡迎Fork)

https://github.com/TommyLemon/Android-ZBLibrary

下載試用

ZBLibraryDemoApp.apk

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.