首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

viewgroup实现item拖动效果

网络上关于GridView可拖动的例子已经不少了,包括带动画不带动画的都有一堆,但几乎都是通过继承Android原生控件GridView来扩展的,当然这种实现方式是很容易联想到的,也是最容易实现的。...今天跟大家分享另外一种方式,通过继承ViewGroup来实现,我们都知道,ViewGroup可以填充很多个View,因此,我觉得可以类似把GridView的每一个Item填充到我们自定义的ViewGroup...中,然后监听长按时间,实现拖动的效果,同时加上动画效果,个人感觉比网上其他实现方式更加简洁和美观,唯一的缺点就是:没有setAdapter的函数,添加的item,需要我们手动add到ViewGroup中...,如果item不是特别复杂和繁多,个人觉得也不算什么问题。...我们先来看看DragGridView的代码部分: /**  * 另外一种方式实现动画可拖动item的GridView  *   * @author way  *   */ public class

1.8K60

协同过滤算法概述与python 实现协同过滤算法基于内容(usr-item,item-item

我们将使用MovieLens数据集,它是在实现和测试推荐引擎时所使用的最常见的数据集之一。它包含来自于943个用户以及精选的1682部电影的100K个电影打分。...Item-Item Collaborative Filtering: “Users who liked this item also liked …” User-Item Collaborative Filtering...import pairwise_distances user_similarity = pairwise_distances(train_data_matrix, metric='cosine') #矩阵的转置实现主题的相似度...usr/bin/env python #_*_ coding:utf-8 _*_ """ title:python 实现协同过滤算法基于用户与基于内容 """ import numpy as np import...import pairwise_distances user_similarity = pairwise_distances(train_data_matrix, metric='cosine') #矩阵的转置实现主题的相似度

6.5K52

Android使用RecycleView实现拖拽交换item位置

本文实例为大家分享了RecycleView实现拖拽交换item位置的具体代码,供大家参考,具体内容如下 老规矩,先来一张效果图: ?...相比起ListView而言,RecycleView实现拖拽交换位置的效果要简单很多,因为通过SDK中的ItemTouchHelper工具类可以轻松的实现这种效果,并且一套代码支持所有布局方式;而ListView...,在SimpleItemTouchHelperCallback的构造方法中传入该解耦接口的引用,并让RecycleView的Adapter实现该解耦的接口,这样就实现了这2个类的通信问题了....return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item...return super.onOptionsItemSelected(item); } } 以上就是本文的全部内容,希望对大家的学习有所帮助。

2.6K32

Android RecyclerView实现多种item布局的方法

我们可以看到,这个RecyclerView中有多种item显示出来,那么具体怎么实现呢,其实在RecyclerView中,我们可以重写方法getItemViewType(),这个方法会传进一个参数position...,这样就能够实现多种item显示了,讲了这么多我们看一下具体的例子 @Override public int getItemViewType(int position) { if(list.size...对象做了一些判断,如果存储item对象的集合大小为空,返回空view标识(这里为1),如果item对象为null,返回进度条标识,这个主要是用于实现下拉加载更多,如果item对象类型属于图片类型,就返回图片类型对应的..., parent, false); return new NewsViewHolder(view); } } 上面的代码就是具体为每种viewType引入其对应的布局,这样就基本实现了多种...item布局,但是仅仅是这些还不够,因为我们还要对每种item设置数据,所以还要对每种item写一个VIewHolder来为item显示数据 class NewsViewHolder extends

3.9K21

Android中Item实现点击水波纹效果

系统自带的水波纹实现 系统自带的方法非常方便,只需要给相应的空间设置背景,背景内容则为系统自带的 selectableItemBackground ,这样的话,水波纹就会在TextView所在的区域内进行绘制...ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/dark_blue" <item...android:drawable="@color/blue"/ </ripple 其中item的颜色是控件正常状态的背景色,ripple中的颜色是点击时出现的颜色(会以半透明的形式展示出来)。...ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/dark_blue" <item..."true" <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_<em>item</em>_tv

3.3K10

使用 RecyclerView 实现 Gallery 画廊效果,并控制 Item 停留位置

其实我们可以控制其 Item 的停留位置,并使其实现画廊效果。如果大家熟悉 SnapHelper 的话,估计大家就都会了。...效果如下: 居中实现方式 使用 SnapHelper 配合 RecyclerView 实现控制 Item 位置居中显示,非常简单,官方默认提供的 LinearSnapHelper 就是居中的,我们直接使用即可...LinearSnapHelper(). attachToRecyclerView(recyclerView); 自定义 SnapHelper 官方提供的默认是居中显示,其实我们也可以自定义,比如:靠左显示,让可见的第一个 Item...findLastVisibleItemPosition(); if (firstChild == RecyclerView.NO_POSITION) { return null; } //这行的作用是如果是最后一个,翻到最后一条,解决显示不全的问题...layoutManager.findViewByPosition(lastChild); } View child = layoutManager.findViewByPosition(firstChild); //获取偏左显示的Item

3.1K70

一个吸顶Item的简单实现方法分享

一般的对于上图样式的Sticker我们使用CoordinatorLayout & AppBarLayout就可以说实现。 但是对于下面这种呢?...我的实现思路 首先整个页面的UI结构是通过RecyclerView实现的。 对于上面这个Sticker的实现是在布局的最上方添加了一个和RecyclerView中要吸顶的Item一模一样的布局。...上面的逻辑写的其实比较复杂,不过确实实现了需求(-_-), 我解释一下: 即我判断Sticker是否出现依赖于itemView.top和Sticker的前一个itemview: 如果当前的Sticker...则根据它itemView.top来判断它是否滚动到了顶部 如果它的前一个itemview已经不在RecyclerView中了(被回收了),那说明它肯定滚出去了,这时直接显示 上面的逻辑很奇怪,不过确实实现了吸顶的需求...并且它的逻辑很简单,也很通用: 判断当前RecyclerView显示的第一个条目的位置是否大于StickerItem的位置,如果大于就展示吸顶Sticker 效果: 上面这种实现仅适用UI结构是RecyclerView

52120

达观数据推荐算法实现:协同过滤之item embedding

推荐系统本质是在用户需求不明确的情况下,解决信息过载的问题,联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢(这里的信息的含义可以非常广泛...主要统计2个item的共现频率,加以时间的考量,以及热门用户以及热门item的过滤以及降权。...下面对item2vec的做简要的分享: 由于item2vec基本上是参照了google的word2vec方法,应用到推荐场景中的item2item相似度计算上,所以首先简单介绍word2vec的基本原理...词的上下文即为邻近词的序列,很容易想到,词的序列其实等价于一系列连续操作的item序列,因此,训练语料只需将句子改为连续操作的item序列即可,item间的共现为正样本,并按照item的频率分布进行负样本采样...作者尝试将item2vec应用到达观数据的相关推荐当中,由于资讯、短视频类的场景一般的连续item操作会比较多,因此天然的非常适合用item2vec来训练item的向量表示,从实际的训练结果和线上评估来看

1.5K60
领券