我正在处理需要自定义列表视图的应用...
列表视图应该像某种垂直图库一样。 在图库中,所选项目始终位于中心位置。
在我的应用程序中,我只使用导航键或遥控器。 因此没有任何投掷或常规滚动效果。
我需要例如我的列表中的第二个元素总是被选中。 如果我想向上移动,所有元素都会向上滚动一个位置,并且必须更改所选项目,但在屏幕上的相同位置(如之前选择的项目)。
这就像画廊一样垂直。
有一种简单的方法吗? 是否有垂直图库实施? 如何使画廊小部件垂直? 或者如何自定义列表视图?
TNX!
答案 0 :(得分:2)
尝试在ListView上设置onClick Listener
ListView listView1=(ListView) findViewById(R.id.listView1);
然后实现一个类类SearchItemClickListener实现OnItemClickListener
并设置listview.onItemClickListenr,您将获得位置和视图。
Hope this helps
答案 1 :(得分:0)
您可以使用
获取当前可见的第一个位置mListView.getFirstVisiblePosition();
获取当前可见位置及其各自的数据后,您可以执行所需的任务(即在获取缩略图或类似内容后显示大图像)。
或强>
如果您不想仅依赖于第一个或最后一个位置并想要选择其他可见行,那么您可以执行以下操作,
public View getView(int position, View convertView, ViewGroup parent)
{
int visiblePosition = position % nObjects; // nObjects if the total number of objects to display
if(visiblePosition == yourDesiredPosition){
// do your custom work here.
}
}
以下是vertical slide show的演示,
希望这会给你一些关于实现你的功能的提示。
答案 2 :(得分:0)
我使用ListView项上的setSelected()方法管理它并管理键侦听器。 没有找到更聪明的方法来处理这个问题。