仿京東商城系列19------九宮格訂單展示

本項(xiàng)目來(lái)自菜鳥(niǎo)窩止吐,有興趣者點(diǎn)擊http://www.cniao5.com/course/

項(xiàng)目已經(jīng)做完,
https://github.com/15829238397/CN5E-shop


仿京東商城系列0------項(xiàng)目簡(jiǎn)介
仿京東商城系列1------fragmentTabHost實(shí)現(xiàn)底部導(dǎo)航欄
仿京東商城系列2------自定義toolbar
仿京東商城系列3------封裝Okhttp
仿京東商城系列4------輪播廣告條
仿京東商城系列5------商品推薦欄
仿京東商城系列6------下拉刷新上拉加載的商品列表
仿京東商城系列7------商品分類(lèi)頁(yè)面
仿京東商城系列8------自定義的數(shù)量控制器
仿京東商城系列9------購(gòu)物車(chē)數(shù)據(jù)存儲(chǔ)器實(shí)現(xiàn)
仿京東商城系列10------添加購(gòu)物車(chē)勇凭,管理購(gòu)物車(chē)功能實(shí)現(xiàn)
仿京東商城系列11------商品排序功能以及布局切換實(shí)現(xiàn)(Tablayout)
仿京東商城系列12------商品詳細(xì)信息展示(nativie與html交互)
仿京東商城系列13------商品分享(shareSDK)
仿京東商城系列14------用戶登錄以及app登錄攔截
仿京東長(zhǎng)城系列15------用戶注冊(cè),SMSSDK集成
仿京東商城系列16------支付SDK集成
仿京東商城系列17------支付功能實(shí)現(xiàn)
仿京東商城系列18------xml文件讀热芭瘛(地址選擇器)
仿京東商城系列19------九宮格訂單展示
仿京東商城系列20------終章


前言

上一更我們成功完成了地址選擇器颠焦,以及收貨人信息管理。接下來(lái)我們還剩下什么呢里逆?對(duì)啦进胯,訂單,這也是本項(xiàng)目最后一個(gè)模塊啦原押,想必大家已經(jīng)按耐不住激動(dòng)地心情了吧胁镐?來(lái)上效果


訂單.gif

內(nèi)容

NineGridView

以下關(guān)于NineGridView內(nèi)容來(lái)自https://github.com/jeasonlzy/NineGridView

簡(jiǎn)介

類(lèi)似QQ空間,微信朋友圈诸衔,微博主頁(yè)等盯漂,展示圖片的九宮格控件,自動(dòng)根據(jù)圖片的數(shù)量確定圖片大小和控件大小笨农,使用Adapter模式設(shè)置圖片就缆,對(duì)外提供接口回調(diào),支持任意的圖片加載框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等磁餐,支持點(diǎn)擊圖片全屏預(yù)覽大圖违崇。

用法

1.用法
使用前阿弃,對(duì)于Android Studio的用戶,可以選擇添加:

compile 'com.lzy.widget:ninegridview:0.2.0'

或者使用

compile project(':ninegridview')

2.項(xiàng)目功能

  • 使用Adapter模式設(shè)置圖片
  • 當(dāng)圖片數(shù)量只有一張時(shí)羞延,自動(dòng)根據(jù)圖片大小調(diào)整控件大小
  • 默認(rèn)增加了圖片點(diǎn)擊全屏預(yù)覽效果渣淳,并附帶預(yù)覽動(dòng)畫(huà)
  • 使用接口加載圖片,支持任意的圖片加載框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等
  • 整合了PhotoView圖片預(yù)覽
  • 使用接口抽出圖片的加載方式,可以方便的將Glide替換成自己喜歡的ImageLoader等
  • 支持fill個(gè)grid兩種顯示模式
  • 當(dāng)獲取的圖片數(shù)量超過(guò)最大顯示的圖片數(shù)量時(shí)伴箩,最后一張圖片上會(huì)顯示剩余數(shù)量(類(lèi)似于QQ的動(dòng)態(tài)效果)
  • 使用代碼簡(jiǎn)單入愧,只需要幾行代碼

3.參數(shù)含義
自定義屬性名字

ngv_singleImageSize
只顯示一張圖片時(shí)的最大圖片大小

ngv_singleImageRatio
只顯示一張圖片時(shí)圖片寬高比

ngv_gridSpacing
網(wǎng)格顯示圖片時(shí),圖片之間的間距嗤谚,默認(rèn)3dp

ngv_maxSize
最多顯示圖片的數(shù)量棺蛛,默認(rèn)最大9張

ngv_mode
支持fill和grid兩種顯示模式,其中g(shù)rid模式在顯示4張圖片時(shí)采用2*2的布局

4.代碼演示
1.在Application中初始化NineGridView的圖片加載器

    NineGridView.setImageLoader(new PicassoImageLoader());

    /** Picasso 加載 */
    private class PicassoImageLoader implements NineGridView.ImageLoader {

        @Override
        public void onDisplayImage(Context context, ImageView imageView, String url) {
            Picasso.with(context).load(url)//
                    .placeholder(R.drawable.ic_default_image)//
                    .error(R.drawable.ic_default_image)//
                    .into(imageView);
        }

        @Override
        public Bitmap getCacheImage(String url) {
            return null;
        }
    }

2.在自己的Adapter中初始化NineGridView的適配器

  • ImageInfo是庫(kù)中提供的數(shù)據(jù)Bean巩步,需要兩個(gè)url旁赊,分別表示小圖和大圖的url,沒(méi)有大圖或者小圖椅野,則都賦給相同的Url即可终畅。
  • ClickNineGridViewAdapter是庫(kù)中提供的默認(rèn)實(shí)現(xiàn)了點(diǎn)擊預(yù)覽的Adapter,如果不想使用預(yù)覽效果竟闪,可以自己繼承 NineGridViewAdapter 實(shí)現(xiàn)其中 onDisplayImage 方法即可离福。
ArrayList<ImageInfo> imageInfo = new ArrayList<>();
    List<EvaluationPic> imageDetails = item.getAttachments();
    if (imageDetails != null) {
        for (EvaluationPic imageDetail : imageDetails) {
            ImageInfo info = new ImageInfo();
            info.setThumbnailUrl(imageDetail.smallImageUrl);
            info.setBigImageUrl(imageDetail.imageUrl);
            imageInfo.add(info);
        }
    }
    holder.nineGrid.setAdapter(new ClickNineGridViewAdapter(context, imageInfo));

訂單頁(yè)面實(shí)現(xiàn)

1.訂單頁(yè)面實(shí)現(xiàn)
這次的訂單頁(yè)面幾乎完全用商品列表的頁(yè)面(不熟悉的請(qǐng)看仿京東商城系列11------商品排序功能以及布局切換實(shí)現(xiàn)(Tablayout)),只是更換了填充recyclerView的adapter炼蛤。在這里不給詳細(xì)解釋妖爷。
2.adapter中九宮格的實(shí)現(xiàn)

  • 在application中對(duì)nineGridView的圖片下載器進(jìn)行初始化。
   /** Picasso 加載 */
    private class PicassoImageLoader implements NineGridView.ImageLoader {

        @Override
        public void onDisplayImage(Context context, ImageView imageView, String url) {
            Picasso.with(context).load(url)//
                    .placeholder(R.drawable.ic_default_image)//
                    .error(R.drawable.ic_default_image)//
                    .into(imageView);
        }

        @Override
        public Bitmap getCacheImage(String url) {
            return null;
        }
    }

  @Override
    public void onCreate() {
        super.onCreate();
        NineGridView.setImageLoader(new PicassoImageLoader());
    }
  • 在自己的Adapter中初始化NineGridView的適配器理朋。
  private void initNineGridLayout(OrderMsg orderMsg) {

        List<ImageInfo> imageInfos = new ArrayList<>() ;
        for (int i = 0; i < orderMsg.getItems().size() ; i++) {
            ImageInfo im = new ImageInfo() ;
            im.setBigImageUrl(orderMsg.getItems().get(i).getWares().getImgUrl());
            im.setThumbnailUrl(orderMsg.getItems().get(i).getWares().getImgUrl());
            imageInfos.add(im) ;
        }

        nineGridAdapter nGridAdater = new nineGridAdapter(context , imageInfos) ;

        waresImg.setAdapter(nGridAdater);

    }

  class nineGridAdapter extends NineGridViewAdapter {

        public nineGridAdapter(Context context, List<ImageInfo> imageInfo) {
            super(context, imageInfo);
        }
    }


這樣我們就完成了訂單列表展示頁(yè)面絮识。詳情代碼請(qǐng)戳頁(yè)首github。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末暗挑,一起剝皮案震驚了整個(gè)濱河市笋除,隨后出現(xiàn)的幾起案子斜友,更是在濱河造成了極大的恐慌炸裆,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲜屏,死亡現(xiàn)場(chǎng)離奇詭異烹看,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)洛史,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)惯殊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人也殖,你說(shuō)我怎么就攤上這事土思∥袢龋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵己儒,是天一觀的道長(zhǎng)崎岂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)闪湾,這世上最難降的妖魔是什么冲甘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮途样,結(jié)果婚禮上江醇,老公的妹妹穿的比我還像新娘。我一直安慰自己何暇,他們只是感情好陶夜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著裆站,像睡著了一般律适。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遏插,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天捂贿,我揣著相機(jī)與錄音,去河邊找鬼胳嘲。 笑死厂僧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的了牛。 我是一名探鬼主播颜屠,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹰祸!你這毒婦竟也來(lái)了甫窟?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蛙婴,失蹤者是張志新(化名)和其女友劉穎粗井,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體街图,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浇衬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了餐济。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耘擂。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖絮姆,靈堂內(nèi)的尸體忽然破棺而出醉冤,到底是詐尸還是另有隱情秩霍,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布蚁阳,位于F島的核電站前域,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏韵吨。R本人自食惡果不足惜匿垄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望归粉。 院中可真熱鬧椿疗,春花似錦、人聲如沸糠悼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)倔喂。三九已至铝条,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間席噩,已是汗流浹背班缰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悼枢,地道東北人埠忘。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像馒索,于是被迫代替她去往敵國(guó)和親莹妒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容