我正在开发需要自定义列表视图的应用程序...
列表视图应该像某种垂直画廊。在图库中,所选项目始终位于中心。
在我的应用程序中,我只使用导航键或遥控器。所以没有弹跳或常规滚动效果。
例如,我需要始终选择列表中的第二个元素。如果我想向上移动,所有元素都会向上滚动一个位置,并且必须更改选定的项目,但在屏幕上的相同位置,就像之前的选定项目一样。
这和画廊只有垂直的一样。
有没有一种简单的方法可以做到这一点?是否有垂直画廊实施?如何使画廊小部件垂直?或者如何自定义列表视图以使其行为?
天呐!
尝试在 ListView 上设置 onClick 侦听器
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() 方法管理了这个......并管理关键侦听器。没有找到更聪明的方法来处理这个问题。