最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android仿京東商品屬性篩選功能

 更新時間:2017年12月04日 10:29:26   作者:ZhengJiaoCsdn  
這篇文章主要為大家詳細介紹了android仿京東商品屬性篩選功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

篩選和屬性選擇是目前非常常用的功能模塊;幾乎所有的APP中都會使用;

點擊篩選按鈕會彈出一個自己封裝好的popupWindow,實用方法非常簡單;兩行代碼直接顯示;(當然初始化數(shù)據(jù)除外)

這里和以前用到的流式布局有些不一樣:流式布局

以前使用的是單個分類,而且也沒有在項目中大量實用;這個篩選功能除了數(shù)據(jù)外幾乎都是從項目中Copy出來的;

整個popupWindow布局就是一個自定義的ListView,這個自定義的listview主要是控制listview的高度;

如果數(shù)據(jù)少的話就是自適應(yīng),如果數(shù)據(jù)多了就限制高度為屏幕的一半;

自定義的ListView:

public class CustomHeightListView extends ListView { 
 
  private Context mContext; 
 
  public CustomHeightListView(Context context) { 
    this(context, null); 
  } 
 
  public CustomHeightListView(Context context, AttributeSet attrs) { 
    this(context, attrs, 0); 
  } 
 
  public CustomHeightListView(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
    init(context); 
  } 
 
  private void init(Context context) { 
    mContext = context; 
  } 
 
  @Override 
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    try { 
      //最大高度顯示為屏幕內(nèi)容高度的一半 
      Display display = ((Activity) mContext).getWindowManager().getDefaultDisplay(); 
      DisplayMetrics d = new DisplayMetrics(); 
      display.getMetrics(d); 
      //設(shè)置控件高度不能超過屏幕高度一半(d.heightPixels / 2,下面有清空按鈕所以再減200,也可隨意換成自己想要的高度) 
      heightMeasureSpec = MeasureSpec.makeMeasureSpec(d.heightPixels / 2 - 200, MeasureSpec.AT_MOST); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
    //重新計算控件高、寬 
    super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
  } 
} 

ListView中每個item是一個流式布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:orientation="vertical"> 
 
  <TextView 
    android:id="@+id/tv_type_name" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
 
  <com.example.zheng.flowlayoutdemo.view.SkuFlowLayout 
    android:id="@+id/layout_property" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
   
</LinearLayout> 

整個popupwindow都封裝在一個類中,創(chuàng)建的時候只需把數(shù)據(jù)源傳遞過去即可,實用的時候直接show就可以了

flowPopWindow = new FlowPopWindow(MainActivity.this, dictList); 
    flowPopWindow.showAsDropDown(ivBack); 

當點擊確定的時候直接設(shè)置一個監(jiān)聽即可:

flowPopWindow.setOnConfirmClickListener(new FlowPopWindow.OnConfirmClickListener() { 
     @Override 
     public void onConfirmClick() { 
      StringBuilder sb = new StringBuilder(); 
      for (FiltrateBean fb : dictList) { 
       List<FiltrateBean.Children> cdList = fb.getChildren(); 
       for (int x = 0; x < cdList.size(); x++) { 
        FiltrateBean.Children children = cdList.get(x); 
        if (children.isSelected()) 
         sb.append(fb.getTypeName() + ":" + children.getValue() + ";"); 
       } 
      } 
      if (!TextUtils.isEmpty(sb.toString())) 
       Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_LONG).show(); 
     } 
    } 

點擊打開鏈接免費下載源碼

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android簽名知識小結(jié)

    Android簽名知識小結(jié)

    不止一次有用到Android簽名相關(guān)的知識,每次都幾乎從零開始在Google上搜索找,不想在繼續(xù)這樣了,找了個時間好好整理了一下自己用到的一些碎片知識,于是乎放到這里,一是備忘,二是幫助別人
    2016-03-03
  • Flutter Http網(wǎng)絡(luò)請求實現(xiàn)詳解

    Flutter Http網(wǎng)絡(luò)請求實現(xiàn)詳解

    這篇文章主要介紹了Flutter Http網(wǎng)絡(luò)請求實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Android 高仿微信語音聊天頁面高斯模糊(毛玻璃效果)

    Android 高仿微信語音聊天頁面高斯模糊(毛玻璃效果)

    大家在使用微信聊天的時候有沒有注意到微信語言聊天用的是高斯模糊效果,基于代碼是如何實現(xiàn)的呢?下面小編給大家?guī)砹薃ndroid 高仿微信語音聊天頁面高斯模糊(毛玻璃效果),感興趣的朋友一起看下吧
    2016-08-08
  • Flutter Flar動畫使用實戰(zhàn)示例

    Flutter Flar動畫使用實戰(zhàn)示例

    這篇文章主要為大家介紹了Flutter Flar動畫使用實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Android實現(xiàn)圖片區(qū)域裁剪功能

    Android實現(xiàn)圖片區(qū)域裁剪功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)圖片區(qū)域裁剪功能,調(diào)用相冊、拍照實現(xiàn)縮放、切割圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android權(quán)限詢問的實例詳解

    Android權(quán)限詢問的實例詳解

    這篇文章主要介紹了Android權(quán)限詢問,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • android 加載本地聯(lián)系人實現(xiàn)方法

    android 加載本地聯(lián)系人實現(xiàn)方法

    在android開發(fā)過程中,有些功能需要訪問本地聯(lián)系人列表,本人搜集整理了一番,拿出來和大家分享一下,希望可以幫助你們
    2012-12-12
  • Android安卓中循環(huán)錄像并檢測內(nèi)存卡容量

    Android安卓中循環(huán)錄像并檢測內(nèi)存卡容量

    這篇文章主要介紹了Android安卓中循環(huán)錄像并檢測內(nèi)存卡容量,當內(nèi)存卡空間已滿時,本文還實現(xiàn)自動刪除視頻列表里面的第一個文件,需要的朋友可以參考下
    2015-06-06
  • Android App打包加固后的APK無法安裝問題解決

    Android App打包加固后的APK無法安裝問題解決

    Android應(yīng)用當中,很多隱私信息都是以 字符串的形式存在的,所以需要加密,本文主要介紹了Android App打包加固后的APK無法安裝問題解決,感興趣的可以了解一下
    2024-01-01
  • Android Hilt依賴注入的使用講解

    Android Hilt依賴注入的使用講解

    這篇文章主要介紹了Android Hilt依賴注入的使用,首先,某個類的成員變量稱為依賴,如若此變量想要實例化引用其類的方法,可以通過構(gòu)造函數(shù)傳參或者通過某個方法獲取對象,此等通過外部方法獲取對象實例的稱為依賴注入
    2023-01-01

最新評論

通州区| 阳泉市| 寻乌县| 五指山市| 浮山县| 邓州市| 杨浦区| 如皋市| 运城市| 集贤县| 揭阳市| 中超| 钟祥市| 科技| 谷城县| 临潭县| 卢湾区| 江门市| 张掖市| 正蓝旗| 收藏| 甘谷县| 巴中市| 雅江县| 桃江县| 呈贡县| 融水| 松原市| 蓝田县| 宜兰市| 繁昌县| 白城市| 工布江达县| 铜山县| 聊城市| 泌阳县| 周口市| 肥城市| 浦城县| 辽宁省| 茶陵县|