列表视图捕捉项目

我创建使用一个ListView图片列表,这些照片是将适合2至3张照片在屏幕上的尺寸。

该时遇到的问题是,我想,当用户停止滚动,有形列表的第一项将捕捉到屏幕的顶部,例如,如果滚动端部和第一画面的一小部分显示给,我们滚动列表下来,画面总是完全显示出来,如果​​大部分的图片显示,我们滚动列表了,因此接下来的画面是完全可见。

有没有办法在机器人与ListView来实现这一目标?

--------------解决方案-------------

我已经找到一种方法来做到这一点只是听通过实施ListView.OnScrollListener滚动结束时,滚动和改变位置

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
if (scrolling){
// get first visible item
View itemView = view.getChildAt(0);
int top = Math.abs(itemView.getTop()); // top is a negative value
int bottom = Math.abs(itemView.getBottom());
if (top >= bottom){
((ListView)view).setSelectionFromTop(view.getFirstVisiblePosition()+1, 0);
} else {
((ListView)view).setSelectionFromTop(view.getFirstVisiblePosition(), 0);
}
}
scrolling = false;
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
case OnScrollListener.SCROLL_STATE_FLING:
Log.i("TEST", "SCROLLING");
scrolling = true;
break;
}
}

这种变化不是那么顺利,但它的工作原理。

使用@nininho的解决方案,

onScrollStateChanged时状态更改为SCROLL_STATE_IDLE记得要捕捉和养标志的位置:

snapTo = view.getFirstVisiblePosition();
shouldSnap = true;

然后,覆盖computeScroll()方法:

@Override
public void computeScroll() {
super.computeScroll();
if(shouldSnap){
this.smoothScrollToPositionFromTop(snapTo, 0);
shouldSnap = false;
}
}

除了上述尝试一件事的代码,你应该确保的是,你的ListView有能适合你想要显示的项目确切数字的高度。 例如如果希望4项后卡扣作用进行显示和你的行的高度(在其布局定义)应当列表的总高度的1/4。

分类:机器人 时间:2012-01-01 人气:0
本文关键词: 列表视图,机器人
分享到:

相关文章

  • 如何在顶部的列表视图机器人前添加一个按钮 2012-11-18

    我写了一个ListView用文本和图像凑钱成一排. 我想补充的顶部按钮listview ,然后列表视图的全部内容应该可以看到. Button被命名为"更多",当有人点击它,我会更新的listContent. 这是主旋律. 任何人都可以提出该怎么办呢? 我的Java文件. package com.example.firstandroid; import org.json.JSONArray; import org.json.JSONObject; import android.app.L

  • 按钮,在列表视图 - 机器人 2013-06-12

    我有一个扩展类ListActivity有SimpleAdapter作为列表适配器. 我的代码如下所示: public class ListOfFirms extends ListActivity { Intent extras; int time; String km; ArrayList<String> firms = new ArrayList<String>(); SimpleAdapter adapter; static final ArrayList<HashMap

  • 停止列表视图机器人的自动滚屏 2014-01-10

    我有一个列表视图其中有10个项目中,只有5个项目是可见的,视图必须向下滚动,看看其他地方. 列表视图在默认情况下不会自动滚屏,当我到达视图的底部. 但我想禁用此自动滚动,因为我有我自己的实现滚动使用 listview.setSelection(位置); 所以,问题是如何阻止自动滚动ListView中? --------------解决方案------------- 自9 SDK有: listView.setOverScrollMode(View.OVER_SCROLL_NEVER); 看看 Li

  • 目前的状态留在列表视图机器人。 2014-07-07

    我有显示列表视图的20个项目,在底部列表视图有footerview当我们点击负载越应该把它添加未来20的结果,这是工作的罚款 ​​" 加载更多结果的活动. 但是点击负载经过整个页面得到刷新,它从顶部示出. 而它应该显示从当前位置的项目. 有没有什么方法???? 数据从解析到来. 感谢名单 --------------解决方案------------- 你必须保持在您的全局计数器ListView知道了您的计数器(或指数 )的. 只需从分析的数据添加新项目时,计数器增加. 当ListView动态下载

  • 如何使用和编辑框过滤列表视图 - 机器人 2012-10-21

    我想提出的法律术语表,我希望能够通过键入一个编辑框缩小搜索结果列表中,我试图找到一个解决方案,但他们都为我工作过. --------------解决方案------------- 在Android上,你并不需要一个编辑框来实现这一目标. 而且它不建议这样做. 而不是仅仅实现可筛选为您的自定义适配器,一旦用户将东西输入,而视图列表中它会过滤. 屏幕键盘像往常一样来与控股菜单 这里是一个教程,必须实现过滤的代码

  • 机器人:如何将按钮添加到列表视图的顶部 2012-05-16

    在我的应用我想将按钮添加到列表视图的顶部. 这意味着在顶部的按钮是那里的列表视图后继续. 以下是我的代码. 使用此我得到 十一月5日至23日:44:34.407:ERROR / AndroidRuntime(1348):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.Elgifto / com.Elgifto.Egender}:显示java.lang.NullPointerException. Egender.java package c

  • SQLite的和填充列表视图,机器人 2012-08-05

    我从填充一个SQLite数据库的文本和列表视图. 该数据从光标正确填充(我看到列表填充文本行),但我无法看到实际的文本中的行 - 我看到的是空行. 对于我的生活,我想不出什么,我无法看到的文本行数据. 我的布局: <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" an

  • 如何与多个列表视图和ViewFlipper(机器人)的工作 2015-02-25

    在我的应用程序有一个包含3个列表视图内viewflipper的活动. 我已经实现了segmentedbutton插件的viewflipper内的列表视图之间切换. 做这样一来,我一直在内存中加载列表视图3,并根据所选择的按钮显示出来. 机器人是否允许开发者在运行时改变列表适配器? 我thiking有关删除viewflipper并只保留一个列表视图,当用户选择一个按钮,我只改从列表视图适配器. 这是feseable? 难道不消耗更多的内存和CPU而不是让viewflipper内三个列表视图的? 任

  • 列表视图可重用组件 - 建筑 - 机器人 2012-01-07

    我有一个包含排列按要求4列表视图复杂视图. 我已经能够实现和得到它的工作. 但是这是一个唯一的活性和数据需要在内部提供(在活动范围内). 我想定义的方式在哪里,这个复杂的看法是像它是由提供所有4列表视图数据,然后将视图在屏幕上显示了其他的活动称为一个可重用组件. 可能有人请指导我以我如何去实现这个功能. --------------解决方案------------- 你应该在自己的布局文件中定义你的列表视图结构. 然后你可以使用什么叫通货膨胀,它可以让你"注入"单独的布局文件到运行时主

  • 在列表视图中不可见(机器人)的AdView 2012-02-08

    我跟随谷歌的列表视图教程(http://developer.android.com/resources/tutorials/views/hello-listview.html)和我想的广告中的AdView到我的列表视图(因此它总是停留在顶端) ,但我不能得到它的工作. 我试过的RelativeLayout和线性,但我不能得到它的工作. 我试着用一个按钮代替的AdView但按钮没有任何显示. 现在,我使用此代码: <LinearLayout xmlns:android="http://sch

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.522 (s). 10 q(s)