今天想实现android通讯录中,那种手动可以拖拽着滚动条滑动的效果,如下图:
查看了android的源代码,发现只需在ListView中加入一个参数
android:fastScrollEnabled="true" android:focusable="true"
android的源代码如下:
在contacts_list_content.xml中:
<com.android.contacts.FocusRequestingListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true"
/>
而FocusRequestingListView 的源代码如下:
public class FocusRequestingListView extends ListView {
private boolean mFirstLayoutDone = false;
public FocusRequestingListView(Context context) {
super(context);
}
public FocusRequestingListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FocusRequestingListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
if (!mFirstLayoutDone) {
setFocusable(true);
requestFocus();
}
mFirstLayoutDone = true;
}
}
其实有用的就这么两句话,
if (!mFirstLayoutDone) {
setFocusable(true);
requestFocus();
}
mFirstLayoutDone = true;
说的意思就是在什么情况下设置focusable焦点。
- 大小: 48.4 KB
分享到:
相关推荐
在Android开发中,SeekBar是一个非常常用的控件,它允许用户通过拖动滚动条来选择一个介于最小值和最大值之间的值。这个过程既直观又交互性强,常用于音量调节、进度设置等场景。本篇文章将深入探讨如何在Android...
Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码 Android开发中,拖动条/滑动条控件和星级评分控件是常用的UI控件,下面将对其进行详细的介绍。 一、拖动条/滑动条控件(SeekBar) SeekBar是Android...
在这个项目中,你可以看到一个`TextView`显示长文本,并在文本超出视口时显示垂直滚动条,用户可以通过滑动来查看未显示的部分。 此外,你还可以考虑使用`ScrollView`或`NestedScrollView`来包裹`TextView`,以实现...
在Android开发中,实现“随滚动条拖动Actionbar渐变透明”的效果是一种常见的界面设计手法,它能够为用户带来更为沉浸式的体验。这个效果通常应用于具有滚动内容的Activity,如ListView、RecyclerView或者ScrollView...
"滚动滑动条"是这个概念的一种具体实现,它允许用户通过手动拖动一个小的可移动部分(通常称为“滑块”)来查看或调整内容。在本文中,我们将深入探讨滚动滑动条的设计原理、功能特性以及在不同场景下的应用。 首先...
在Android开发中,进度条(Progress Bar)和SeekBar是两种常用的UI组件,它们用于展示任务的执行进度或者允许用户手动调整进度。在这个“安卓进度条loadingprogress相关-垂直SeekBar拖动条.zip”压缩包中,重点是...
2. 手动拖动:为了增强用户体验, Banner广告条还支持用户通过触摸屏幕进行手动滑动,这就需要用到Android的滑动监听机制,例如ScrollView或HorizontalScrollView的滑动事件。 二、设计模式与架构 1. 观察者模式:...
手动滚动则是由用户通过鼠标滚轮、触摸滑动或者界面上的滚动条控制。 3. **滚动条**:在许多图形用户界面(GUI)中,滚动条是实现文本滚动的关键组件。它通常出现在窗口边缘,由一个可拖动的滑块组成,用户可以通过...
- **拖动条**(SeekBar):与进度条类似,但用户可以通过拖动滑块手动调整值,常见于音量控制、亮度调节等场景。 - **星级评分条**(RatingBar):允许用户对内容进行评分,通常为半星或全星制,常用于电影评价、...
启用快速滚动滑块后,用户可以在长列表中通过侧边栏快速定位到目标位置,类似于Android通讯录的手动拖动滚动条滑动效果。 ### ListView的优化与自定义 ListView的性能优化是Android开发中的一个重要话题,因为它...
在Android应用开发中,"SlidingMenu+TabHost+ViewPage+广告条+地图"的组合是构建一个功能丰富的交互式界面的常见架构。以下是对这些关键知识点的详细解释: 1. **SlidingMenu**: SlidingMenu是一个Android库,用于...
这两种交互模式使得用户无需手动翻页,只需轻扫屏幕即可获取新数据,极大地提升了数据浏览的效率。 "上拉加载更多"功能是在用户滚动到ListView底部时,自动请求并加载更多的数据。这种设计在处理无限滚动的数据流,...
当滑动状态改变为SCROLL_STATE_IDLE(静止状态)且滚动到底部(滚动条位置+可见视图高度等于总高度)时,可以启动加载更多数据的请求。 3. **Footer View**:为了在列表底部显示“20条载入中...”这样的提示,我们...
如在iOS中,可以使用`scrollViewDidScroll:`方法来监听滚动,而在Android中,`RecyclerView`的`addOnScrollListener`可以用来监听滑动。 4. **动画效果**:为了让用户有更好的交互体验,刷新和加载过程中通常会添加...
SeekBar是一种可以手动调整的进度条,用户通过拖动滑块改变进度。主要属性包括: - `max`:最大值。 - `progress`:当前值。 - `onSeekBarChangeListener`:监听滑动事件,获取实时进度。 7.ScrollView(滚动视图...
6. 对'自动生成密码'页面的布局进行了调整,查看结果预览条时再不用先上下拖动屏幕了。 7. 对自动生成密码的算法进行了调整,使结果更加准确和合理。 [新增] 1. 开机显示通知栏图标开关,方便用户通过它来快速访问...
6. 对'自动生成密码'页面的布局进行了调整,查看结果预览条时再不用先上下拖动屏幕了。 7. 对自动生成密码的算法进行了调整,使结果更加准确和合理。 [新增] 1. 开机显示通知栏图标开关,方便用户通过它来快速访问...