Android 实现ListView不可滚动效果


    希望得到的效果是ListView不能滚动,但是最大的问题在与ListView Item还必有点击事件,如果不需要点击事件那就简单了,直接设置ListView.setEnable(false);

    如果还需要点击事件,滚动与点击都是在ListView Touch处理机制管理。

    ListView点击事件是复用ViewGroup的处理逻辑,当用户点击视图并且按下与抬起手指之间移动距离很小,满足点击事件的时间长度限制,就会触发点击事件。

    ListView滚动事件是自己处理,有两个判断条件,当用户触发move事件并且滑动超过touch slop距离 或者 滑动速度超过阀值都会判定为滚动事件。


import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ListView;

public class ScrollDisabledListView extends ListView {
 
    private int mPosition;
 
    public ScrollDisabledListView(Context context) {
        super(context);
    }
 
    public ScrollDisabledListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public ScrollDisabledListView(Context context, AttributeSet attrs, int defStyle) {
        super(conte
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
安卓源码包android web应用Dialog对话框OCR图像识别listview相关EditText输入框Launcher 桌面45个合集: [四次元]Android Launcher 桌面分页滑动代码.rar [四次元]Android Launcher 源码修改可编译.rar [四次元]android 自定义对话框.rar [四次元]android-styled-dialogs 可自定义样式的dialog.zip [四次元]Android实现Iphone样式的AlertDialog.zip [四次元]Android实现Windows风格的Dialog.zip [四次元]dlna库源代码包.zip [四次元]gridview分页效果.zip [四次元]HerilyAlertDialog完全自定义的Dialog.zip [四次元]HorizontalListViewDemo 横向滑动的ListView.zip [四次元]HorizontalListView仿微信发起群聊.zip [四次元]jqmMobileDemo-master.zip [四次元]jqmMobileDemo1_1-master.zip [四次元]listview 的各种动画效果.rar [四次元]listview 适配器 优化 重用.rar [四次元]ListView+CheckBox UI 完美版。实现 全选 、 全不选 、 删除等功能.rar [四次元]ListView停止滚动开启下载图片.zip [四次元]Listview分页加载数据.rar [四次元]ListView多级展示,item由对象Leaf提供数据,可设置多个控件.zip [四次元]listview实现图片的异步加载.rar [四次元]listview快速滑动,修改默认的滑动条.rar [四次元]ListView滚动气泡提示.rar [四次元]listview获取网络图片缓存优化.zip [四次元]Location1014.rar [四次元]map_baidu.zip [四次元]MyNFCDemon.rar [四次元]OAuth认证以及使用网易微博开放平台实现聊天功能.rar [四次元]一个ExpandableListView的例子,实现多级菜单分类展示.rar [四次元]仿QQ消息列表(ListView)滑动删除效果源码.rar [四次元]仿QQ的头像选择弹出的对话框,酷似!.zip [四次元]前面部分可以编辑后面部分不可编辑的EditText.zip [四次元]动态添加RadioGroup的RadioButton.zip [四次元]单排显示gridview并从解析JSON读取数据加载项目.zip [四次元]双列关联listview.rar [四次元]基于JBox2D的Android游戏开发全源码.zip [四次元]安卓桌面应用EyeRoom.zip [四次元]实现列表多选的DEMO.zip [四次元]带有拼音首字母排序的listview.rar [四次元]带有进度条的button.rar [四次元]最全的OCR图像识别技术源码内有说明.zip [四次元]横向ListView的完整实现(包含基于横向listview做的一个小相册demo).rar [四次元]横竖都能滑动的 listview 嵌套在一起的.zip [四次元]自定义单选、多选对话框及popwindow窗口实例源码.rar [四次元]自定义彩色Toast.rar [四次元]自定义组件实现可滑动的ToggleButton的功能..rar
1、Android显示GIF动画 GifView GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片 使用方法:1-把GifView.jar加入你的项目。2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。 如: 3-在代码中配置常用属性: // 从xml中得到GifView的句柄 gf1 = (GifView) findViewById(R.id.gif1); // 设置Gif图片源 gf1.setGifImage(R.drawable.gif1); // 添加监听器 gf1.setOnClickListener(this); // 设置显示的大小,拉伸或者压缩 gf1.setShowDimension(300, 300); // 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示 gf1.setGifImageType(GifImageType.COVER); GifView的Jar包共有四个类: GifAction.java 观察者类,监视GIF是否加载成功 GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。 GifDecoder.java 解码线程类 GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。 2、Calendar.v0.5.0 是 Android 平台的一个日历显示组件。 3、CWAC EndlessAdapter 是 Android 上一个可以无限往下滑进行列表数据加载的控件。 4、Android Horizontal ListViewAndroid 上一个水平滑动的 ListView 组件。 5、Android ViewBadger 视图布局。 6、滑动刷新的ListView Android PullToRefresh 为 Android 应用提供一个向下滑动即刷新列表的功能,就两个目标文件。 7、pakerfeldt-android-viewflow 是 Android 平台上一个视图切换的效果库。ViewFlow 相当于 Android UI 部件提供水平滚动ViewGroup,使用 Adapter 进行条目绑定。 8、Android 导航菜单 RibbonMenu 是 Android 上的一个导航菜单组件。就三个目标文件,菜单项直接在 XML 中定义,可添加文本和图标。 9、Android的UI工具包 android-ui-utils 是一个工具包用来帮助设计和开发 Android 用户界面,包含三个单独的工具:Android Asset Studio用户界面原型模具,Android 设计预览,时常需要重复确认程序版面设计状况的 Android App 开发者,应该会爱上这个轻量级的 Java 程序:Andorid Design Preview 工具,通过 USB 连接之后,只要简单的在计算机中选取您想要显示的程序版面范围,就可将镜像结果直接显示于手机装置之上。 10、Android的ui开发类库 GreenDroid 是一个Android的ui开发类库,能够使你的Android开发更加简便和快捷。 11、Android滑动式菜单 SlidingMenu 是 Android实现类似 Facebook 和 Path 2.0 滑动式菜单的组件。 12、AsyncImageViewAndroid 上的一个异步从网络上获取图片并进行浏览的开源组件,可自动在本地进行缓存。该项目是 GreenDroid 的一部分。 13、仿Path按钮动画效果 PathButton 仿照Path应用首页左下角的Button动画效果写了个简单的Demo,由于数学不好,坐标总是和理想有出入,只是大致实现了动画效果,若果有人能把坐标算对,那么修改我的demo就能做成类似Path的那种动画效果!希望大家出点力帮着优化一下,并分享出来! 14、Android Intent开发包 OpenIntents Ope
简明、完整、全面的安卓开发demo集合,包含如下示例 1、LinearLayout Button、RadioGroup、 CheckBox 2、TableLayout 3、FrameLayout 霓虹灯效果 4、RelativeLayout 梅花效果 5、自定义view跟着触点走的小球 6、 ListView 列表视图 7、WebView web视图 8、ToggleButton 动态布局效果 9、AnalogClock 、 DigitalClock and Chronometer 时钟和数字日期 10、AutoCompleteTextView 根据输入自动补充可能的全部 11、Spinner View 选择框(弹出框形式选择) 12、DatePicker TimePicker View 日期时间选择器 13、ProgressBar View 普通进度条、显示在标题栏上的进度条 14、RatingBar View 评级 15、 SeekBar 拖动条,音量调节效果 16、ScrollView 、HorizontalScrollView 垂直和水平滚动条 17、ScrollView 、HorizontalScrollView 垂直和水平滚动条 18、ExpandableListView 分组可展开收缩的ListView 19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24、ClipDrawable 徐徐展开的风景 25、AnimationDrawable 会动的图片 26、Menu、SubMenu、ContextMenu xml配置menu 27、Attribute 自定义view的duration属性 控制图片的透明度 28、Bitmap、BitmapFactory 图形与图像处理 29、Canvas 绘制自定义图形 30、Canvas 采用双缓存实现画图板 31、SharedPreference 简单的key-value数据存取 32、SQLiteDatabase 安卓客户端的嵌入式数据库 33、GestureDetector + ViewFlipper实现翻页效果 34、GestureLiberay 自定义手势 35、GestureLiberay 通过自定义的手势实现用户操作 36、TextToSpeech 语音朗读 37、ContentProvider、ContentResolver 应用之间共享数据 38、 Service 相当于没有界面的activity 39、Activity与Service运行中通信 40、Service 相当于没有界面的activity 41、AIDL Service android中的跨进程调用 客户端,服务端见AidlService 42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉加载更多效果 48、异步加载图片的二级缓存技术 49、QQ的好友列表展示效果 50、Fragment + ViewPager实现tab滑动切换 51、能够显示在桌面前面的的歌词效果 52、activity切换特效
Android 中,ListView 是一个非常常用的控件,用于展示有限数量的数据列表。下面是实现 ListView 的基本步骤: 1. 在布局文件中添加 ListView 控件 ```xml <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 创建列表项布局文件 在 res/layout 目录下创建一个 XML 布局文件,用于定义每个列表项的样式和布局。例如,创建一个名为 list_item.xml 的布局文件: ```xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" android:textAppearance="?android:attr/textAppearanceListItem" /> ``` 3. 创建适配器 适配器(Adapter)用于将数据源中的数据绑定到 ListView 上,以创建每个列表项。创建一个继承自 ArrayAdapter 的适配器类,用于将数据源中的数据绑定到 list_item.xml 布局文件上: ```java public class MyAdapter extends ArrayAdapter<String> { public MyAdapter(Context context, int resource, List<String> objects) { super(context, resource, objects); } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false); } TextView textView = convertView.findViewById(R.id.text_view); textView.setText(getItem(position)); return convertView; } } ``` 4. 设置适配器 在 Activity 或 Fragment 中获取 ListView 控件的实例,并设置适配器: ```java ListView listView = findViewById(R.id.list_view); MyAdapter adapter = new MyAdapter(this, android.R.layout.simple_list_item_1, data); listView.setAdapter(adapter); ``` 其中,data 是一个 List<String> 类型的数据源。 5. 处理列表项点击事件 如果需要处理列表项的点击事件,可以为 ListView 设置 OnItemClickListener: ```java listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 处理点击事件 } }); ``` 以上就是实现 ListView 的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值