Android studio自动horizo​​ntalscrollview无限滚动直到结束然后重复

Posted

技术标签:

【中文标题】Android studio自动horizo​​ntalscrollview无限滚动直到结束然后重复【英文标题】:Android studio automatic horizontalscrollview infinite scrolling till end then repeat 【发布时间】:2021-09-05 11:05:00 【问题描述】:

我正在使用 android studio,我有 xml,它有 Horizo​​ntalscrollview 然后是线性布局,然后是多个图像视图..

<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_

android:layout_ >

<LinearLayout
    android:layout_
    android:layout_
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher" />
       <ImageView
        android:id="@+id/imageView1"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher" />

 
</LinearLayout>

我需要的是让这个 horizantalscrollview 自动无限滚动图像直到结束,然后一次又一次地重复滚动。

我的意思是自动滚动水平滚动视图在不使用手的情况下保持滚动

【问题讨论】:

【参考方案1】:

您是否尝试在 layout_width 中使用 wrap_content? 现在,你让你的宽度布局适应屏幕的宽度,我认为如果你把值 wrap_content 它将解决你的问题(你有 layout_height=wrap_content,但高度与垂直滚动“相关”,而不是与水平滚动):

android:layout_

希望对你有所帮助。

【讨论】:

horizo​​ntalscroll 视图工作没有问题,我只需要手动滚动而不是手动滚动它,从头到尾自动滚动并不断重复 对不起,我没听懂你的意思。看看这个链接:android-arsenal.com/details/1/7907我想这是你想做的。【参考方案2】:

好的,感谢您的支持..我找到了解决方案

    Timer timer1 = new Timer("horizontalScrollViewTimer");
    timer1.scheduleAtFixedRate(new TimerTask() 
        @Override
        public void run() 
            runOnUiThread(new Runnable() 
                @Override
                public void run() 
                    if (scrollingLeft) 
                        if (scroll.getScrollX() == 0) 
                            scroll.smoothScrollBy(5, 0);
                            scrollingLeft = false;
                         else 
                            scroll.smoothScrollBy(-5, 0);
                        
                     else 
                        if (scroll.canScrollHorizontally(View.FOCUS_RIGHT)) 
                            scroll.smoothScrollBy(5, 0);
                         else 
                            scroll.smoothScrollBy(-5, 0);
                            scrollingLeft = true;
                        
                    
                
            );
        
    , 1000, 50);

【讨论】:

以上是关于Android studio自动horizo​​ntalscrollview无限滚动直到结束然后重复的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio快捷键(详细)

Android Studio快捷键

Android Studio 快捷键

Android studio 快捷键

Android studio 常用快捷键

android - 为啥在 Horizo​​ntalPager.OnScrollListener() 接口中多次调用 onViewScrollFinished