连续水平滚动

时间:2011-02-11 03:04:32

标签: android

我正在学习Android中的动画和滚动功能。我有一个Horizo​​ntalLayout包含 LeniarLayout。这是我的代码。

LinearLayout layOut = (LinearLayout)findViewById(R.id.lnLayout);                   
        ImageView im1= new ImageView(this);        
        im1.setImageResource(R.drawable.im1);
        ImageView im2= new ImageView(this);
        im2.setImageResource(R.drawable.im2);
        ImageView im3= new ImageView(this);
        im3.setImageResource(R.drawable.im3);
        ImageView im4= new ImageView(this);
        im4.setImageResource(R.drawable.im4);
        ImageView im5= new ImageView(this);
        im5.setImageResource(R.drawable.im5);
        ImageView im6= new ImageView(this);
        im6.setImageResource(R.drawable.im6);

        layOut.addView(im1,0);
        layOut.addView(im2,1);
        layOut.addView(im3,2);
        layOut.addView(im4,3);
        layOut.addView(im5,4);
        layOut.addView(im6,5);

我正在尝试使这些图像连续自动滚动。 我查看了Scroller类,但似乎只有TextView可以使用Scroller类,因为没有其他类有setScroller方法。 在不确定的时间段内实现连续滚动的另一种方法是什么。

2 个答案:

答案 0 :(得分:0)

你有两个我能想到的选择。一,将图像绘制到Canvas并通过onTouchEvent方法伪造滚动动画。然后,当用户“滚动”时,您只需反复绘制图像。

编辑:已删除选项2.仅适用于垂直滚动,我忘记您指定了水平。

答案 1 :(得分:0)

您是否考虑过重复使用Gallery小部件?它应该包含你需要的所有东西+它的适配器,这样你就可以制作一个允许无限滚动的适配器。

UI智慧你也可以调整它。