具有静态选定位置的Android列表视图
我正在开发需要自定义列表视图的应用程序 列表视图的作用应该类似于某种垂直图库。 在库中,所选项目始终位于中心 在我的应用程序中,我只使用导航键或遥控器。 因此,没有投掷或定期滚动效果 例如,我需要始终选择列表中的第二个元素。 如果我想向上移动,所有元素都会向上滚动一个位置,并且所选项目必须被更改,但在屏幕上的同一位置,就像前面所选的项目一样 这和画廊一样,只是垂直的 有没有一个简单的方法可以做到这一点? 是否有一个垂直画廊的实施? 如何使gallery控件垂直? 或者如何自定义列表视图,使其像这样工作具有静态选定位置的Android列表视图,android,listview,gallery,Android,Listview,Gallery,我正在开发需要自定义列表视图的应用程序 列表视图的作用应该类似于某种垂直图库。 在库中,所选项目始终位于中心 在我的应用程序中,我只使用导航键或遥控器。 因此,没有投掷或定期滚动效果 例如,我需要始终选择列表中的第二个元素。 如果我想向上移动,所有元素都会向上滚动一个位置,并且所选项目必须被更改,但在屏幕上的同一位置,就像前面所选的项目一样 这和画廊一样,只是垂直的 有没有一个简单的方法可以做到这一点? 是否有一个垂直画廊的实施? 如何使gallery控件垂直? 或者如何自定义列表视图,使其像这
Tnx 尝试在ListView上设置onClick Listener
ListView listView1=(ListView) findViewById(R.id.listView1);
然后实现一个类SearchItemClickListener实现OnItemClickListener
并设置listview.onItemClickListenr,您将获得位置和视图
Hope this helps
您可以使用
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.
}
}
这是一个演示
希望这能给你一些关于实现你的功能的提示。我已经在ListView项上使用setSelected()方法和管理密钥侦听器来管理它。
没有找到更聪明的方法来处理这个问题。我认为您应该查看索尼xperia的Timescape UI源代码。