水平滚动视图END点和起点

时间:2012-02-28 13:24:16

标签: android

enter image description here

我有50个控制的水平滚动视图,因为我滚动它将优雅地显示50.但在最初用户不能理解这是scrollview和“我需要滚动下一个项目”。所以我只是将两张图片放在右侧左侧,如图所示。现在我的问题是“我无法理解我怎么能不可见的左侧箭头到可见和不可见的右侧箭头“。

1 个答案:

答案 0 :(得分:0)

编辑我刚刚意识到这篇文章有多久了,但未来可能会有所帮助。

好吧这是我的第一篇文章,所以希望我可以正确格式化。我实际上有这个完全相同的问题所以我会发布我的解决方案。我用图像作为箭头。

hsv = (HorizontalScrollView) findViewById(R.id.HorizontalScrollView);
left_arrow = (ImageView) findViewById(R.id.left_arrow);
right_arrow = (ImageView) findViewById(R.id.right_arrow);

hsv.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {

    @Override
    public void onScrollChanged() {
        // TODO Auto-generated method stub

        //Checks if your horizontalscrollview can scroll left
        if (!hsv.canScrollHorizontally(-1))
        {
             left_arrow.setVisibility(View.INVISIBLE);          
        }
        else
        {
             left_arrow.setVisibility(View.VISIBLE);
        }

        //Checks if the horizontalscrollview can scroll right
        if(!hsv.canScrollHorizontally(1)) 
        {
             right_arrow.setVisibility(View.INVISIBLE);
        }
        else
        {
             right_arrow.setVisibility(View.VISIBLE);
        }                   
    }
 });

我把它放在我的onCreate方法中,它就像一个魅力。侦听器在您滚动时进行检查,并且canScrollHorizo​​ntally使用正/负整数来确定视图是否可以再滚动。右为正,左为负。