内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

android實現(xiàn)圖片選擇拖拽控件

1.使用RecyclerView

從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網站。為客戶提供成都網站設計、網站制作、網站策劃、網頁設計、申請域名、虛擬空間、網絡營銷、VI設計、 網站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

使用RecyclerView可以輕松實現(xiàn)圖片切換時的動畫過程,這點要好于GridView。

2. 拖拽的實現(xiàn)

  • Dragmanager

繼承View.OnDragListener,對拖拽過程中進行操作,

Action_drag_started 獲取到操作的Item

Action_Drag_location 根據(jù)每個停留的位置判斷是否交換item的位置。

Action_Drag_ended 跟新位置

  • DragSortAdapter

抽象類,為recyclerView 增加onItemTouchListener和onScrollListener, 記錄onTouch的item,并在拖拽過程中判斷recyclerview是否可以滾動,從而在拖拽的item快到邊界時滾動recyclerView,使可以與本來在屏幕上不可見的item進行交換位置。

  • ViewHolder

ViewHolder 實現(xiàn)startDrag方法

2.itemDecoration

為recyclerview item增加divider,可以有兩種方式,覆蓋onDraw方法繪制itemDivider,或者覆蓋getItemOffsets方法,使item之間可以分隔開。

3.GridlayoutManager

當recyclerview嵌入到scrollview中時,需要復寫LayoutManager,在這里復寫其中的onMeasure方法,需要計算每個item的高度或者寬度進行疊加,當recyclerview中item很多時,不要采用這種方式,回導致view不能復用,其中在計算item高度時,需要加上每個item的itemOffsets,查看recyclerview的源碼發(fā)現(xiàn),無法直接獲取到item的offsets,最終采用反射的方式獲取到其值:

try {
    Method method = recyclerView.getClass().getDeclaredMethod("getItemDecorInsetsForChild",View.class);
    method.setAccessible(true);
    final Rect insets = (Rect)method.invoke(recyclerView, child);
    itemDecorationHeight = heightUsed + insets.height();
    itemDecorationWidth = widthUsed + insets.width();
} catch (NoSuchMethodException e){
    Log.d("FullGridLayoutManager","no method found");
}catch(IllegalAccessException e){
    Log.d("FullGridLayoutManager","IllegalAccessException");
}catch (InvocationTargetException e){
    Log.d("FullGridLayoutManager","InvocationTargetException");
}

網站名稱:android實現(xiàn)圖片選擇拖拽控件
分享鏈接:http://www.rwnh.cn/article20/ippejo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供建站公司網站導航、小程序開發(fā)、關鍵詞優(yōu)化網站建設、搜索引擎優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名
临沧市| 汉中市| 津南区| 理塘县| 文水县| 阿拉善右旗| 盘山县| 江口县| 高邑县| 阿克陶县| 上饶县| 普格县| 汽车| 虹口区| 安远县| 社旗县| 乌拉特后旗| 肃宁县| 荔波县| 左云县| 巴青县| 应城市| 富蕴县| 泽普县| 绥棱县| 沁阳市| 咸阳市| 许昌市| 慈溪市| 天台县| 永吉县| 宜宾县| 柞水县| 察隅县| 武胜县| 页游| 娄底市| 吕梁市| 陈巴尔虎旗| 南涧| 乌苏市|