Articles of listview

Android布局以RelativeLayout为中心,用于自定义ListView

我真的把头发拉过这一头。 一些背景。 我有一个项目列表,旁边都有checkbox。 取消选中checkbox后,会出现一个按钮,允许您从列表中删除该项目。 这看起来似乎倒退,但我们只希望“选定”的项目有资格进行进一步处理等。这是我的布局: 为了挽救我的生命,我不能让3个项目垂直居中。 layout_gravity , gravity , layout_centerVertical ,它都layout_gravity 。 我敢肯定,我的问题是在某个地方翻转的一个小小的设置,但我真的在这方面的斗智斗勇。 编辑:我知道textview是“fill_vertical”,这是我尝试的一些随机的东西。

是否有可能从Android中的适配器引用ListView?

是否有可能从Android中的适配器引用ListView而不将其作为构造函数的parameter passing?

wrap_content用于listview的宽度

有没有办法让ListView与等于最长的行? 为ListView的宽度设置wrap_content无效。 ListView水平覆盖整个屏幕。 这是活动布局 这是行xml 谢谢Gratzi

如何在ListView的末尾添加空格?

我在ListView中有许多元素可以滚动屏幕。 我希望View的末尾有空格。 也就是说,用户应该能够滚动经过最后一个元素,使得最后一个元素位于视口的中间。 我可以使用OverScroller ,但我认为这只会使View具有像iPhone上经常看到的那样的弹性效果。 有什么我可能会忽略的吗? 滚动到按钮的屏幕看起来应该是这样的:

列表视图对齐项目

我正在使用ListView创建图片列表,照片的大小可以在屏幕上显示2到3张照片。 我遇到的问题是,当用户停止滚动时,我想要将可见列表的第一项捕捉到屏幕顶部,例如,如果滚动结束并显示第一张图片的一小部分,我们向下滚动列表以便图片始终完全显示,如果显示的是大部分图片,我们将列表向上滚动,以便下一张图片完全可见。 有没有办法在listview中实现这个?

如何在同一列表视图中实现ontouch和onfling?

我有一个listview并实现onclick和onfling.problem是当我做fling(从左向右滑动),listview的onclick事件也正在执行。如何解决这个问题? 如何区分listview中的触摸(点击)和投掷(滑动)? listClickListener = new OnItemClickListener() { public void onItemClick(AdapterView parent, View v,int position, long id) { //Job of Onclick Listener } }; mContactList.setOnItemClickListener(listClickListener); mContactList.setAdapter(adapter); // Gesture detection gestureDetector = new GestureDetector(new MyGestureDetector(prosNos)); gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { return true; } return false; } }; […]

使用反向无限滚动添加到ListView时保持滚动位置

我正在构建类似聊天的Android应用程序,类似于环聊。 为此,我使用了一个垂直的ListView,其中stackFromBottom=true , transcriptMode=”normal” 。 该列表从较旧的消息(顶部)到较年轻的消息(底部)排序。 在正常状态下,ListView会滚动到底部,显示最年轻的消息。 一旦用户滚动到列表的顶部,ListView使用反向无限滚动适配器来加载更多(较旧的)消息。 加载旧邮件后,它们将添加到列表顶部。 所需的行为是,当旧消息添加到其顶部时,ListView将其滚动位置保持在列表的底部。 也就是说,当旧消息添加到顶部时,滚动视图应显示在添加旧消息之前显示的相同消息。 不幸的是,这不起作用。 ListView不是将滚动位置保持在底部,而是将滚动位置保持在列表顶部 。 也就是说,在将较旧的消息添加到列表之后,该列表显示最顶层(即最旧的)消息。 有一种简单的方法可以告诉ListView在将新项目添加到顶部时将其滚动位置保持在底部而不是顶部吗? 更新 出于演示目的,我尽可能地减少了用例和代码。 以下示例创建一个简单的字符串数组列表。 单击某个项目将在列表顶部添加另一个项目。 长按单击某个项目将在列表底部添加另一个项目。 在列表底部添加项目时,一切正常(长按)。 在列表顶部添加项目(简单点击),则有3种情况: 如果列表滚动到底部,那么一切正常。 将项目添加到顶部后,列表仍会滚动到底部。 如果列表未滚动到底部(也不会滚动到顶部),则列表将保持其滚动y位置(从顶部开始)。 这使列表看起来“跳”了一个项目。 在这种情况下,我希望列表不要“跳起来”,即我希望它从底部保持其滚动y位置。 如果列表滚动到顶部,则情况与情况2相同。首选行为与情况2相同。 (最后两个案例实际上是相同的。我将它们分开,因为在案例2中可以更好地certificate问题。) 码 public class MyListActivity extends Activity { int topIndex = 1; int bottomIndex = 20; protected final void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_list_activity); final ListView […]

具有滚动速度控制的无限自动滚动列表视图

我一直在研究ListView想法,它在没有用户交互的情况下自动滚动,并且使用android API(例如smoothScrollToPositionFromTop )绝对可行。 我已经实现了ListView BaseAdapter ,它永远(几乎)加载项目以获得一个不停止自我重复的ListView 。 我想在这里实现的是让我的ListView以一定的速度(慢速)永远滚动,以便在向下滚动时使项目清晰可读,我不确定ListView是否是我最好的选择。 下面是我要做的事情的片段。 结果很好但不太顺利,我觉得ListView闪烁。 我需要提高平滑度,效率和控制速度 new Thread(new Runnable() { @Override public void run() { int listViewSize = mListView.getAdapter().getCount(); for (int index = 0; index < listViewSize ; index++) { mListView.smoothScrollToPositionFromTop(mListViewA.getLastVisiblePosition() + 100, 0, 6000); try { // it helps scrolling to stay smooth as possible (by experiment) Thread.sleep(60); } […]

如何使用适用于Android的MVP模式控制ListView

我目前正在使用MVP Pattern开发一个Android应用程序。 当我尝试开发一个Activity时,我应该使用ListView。 所以我正在使用Adapter for ListView。 但我听说适配器类似于MVP模式上的Presenter。 我想如果Apdater对Presenter很熟悉,那么我应该让Presenter更新ListView而不是Adapter。 遇到这种情况时,如何开发ListView? 只需使用适配器并继续使用MVP模式? 谢谢你的阅读。

如何为listview使用过度滚动function?

在Gingerbread中引入了Android的新Overscrollfunction,并发现了一些更有趣的东西。 使视图滚动超出其限制然后反弹(几乎完全像iOS)的function有点内置到框架中,但只是隐藏。