0

我正在开发需要自定义列表视图的应用程序...

列表视图应该像某种垂直画廊。在图库中,所选项目始终位于中心。

在我的应用程序中,我只使用导航键或遥控器。所以没有弹跳或常规滚动效果。

例如,我需要始终选择列表中的第二个元素。如果我想向上移动,所有元素都会向上滚动一个位置,并且必须更改选定的项目,但在屏幕上的相同位置,就像之前的选定项目一样。

这和画廊只有垂直的一样。

有没有一种简单的方法可以做到这一点?是否有垂直画廊实施?如何使画廊小部件垂直?或者如何自定义列表视图以使其行为?

天呐!

4

3 回答 3

2

尝试在 ListView 上设置 onClick 侦听器

ListView listView1=(ListView) findViewById(R.id.listView1);

然后实现一个类类 SearchItemClickListener 实现 OnItemClickListener

并设置 listview.onItemClickListenr 您将获得位置和视图。

        Hope this helps
于 2013-01-21T11:06:14.317 回答
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.

        }

    }

这是垂直幻灯片放映的演示,

希望这会给您一些有关实现功能的提示。

于 2013-01-21T11:36:19.143 回答
0

我已经使用 ListView 项目上的 setSelected() 方法管理了这个......并管理关键侦听器。没有找到更聪明的方法来处理这个问题。

于 2013-03-05T10:34:40.990 回答