zoukankan      html  css  js  c++  java
  • 轮播图学习2:实现轮播图自动跳转

    要实现轮播图自动跳转 需要自己写一个类ScoViewParger继承ViewParger,将activity_mian.xml文件中关于ViewRarger的布局改写成为包名+类名的方式

    ScoViewParger类:
    package com.example.myapplication23;
    
    import android.content.Context;
    import android.os.Handler;
    import android.os.Looper;
    import android.util.AttributeSet;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.viewpager.widget.ViewPager;
    
    
    import java.util.logging.LogRecord;
    
    public class ScoViewParger extends ViewPager {
        private Handler handler;
        public ScoViewParger(@NonNull Context context) {
            this(context,null);
        }
    
        public ScoViewParger(@NonNull Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
            handler=new Handler(Looper.getMainLooper());
    
    
    
        }
    
        @Override
        protected void onAttachedToWindow() {
            super.onAttachedToWindow();
            startLooper();
        }
        private void startLooper(){
            handler.postDelayed(mTask,5000);
        }
        private Runnable mTask=new Runnable() {
            @Override
            public void run() {
                int currentItem=getCurrentItem();
                currentItem++;
                setCurrentItem(currentItem);
                postDelayed(this,5000);
            }
        };
        @Override
        protected void onDetachedFromWindow() {
            super.onDetachedFromWindow();
            stopLooper();
        }
        private void stopLooper(){
            handler.removeCallbacks(mTask);
        }
    }

    activity_mian.xml

    <?xml version="1.0" encoding="utf-8"?>
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:tools="http://schemas.android.com/tools"
        tools:content=".MainActivity">
    
        <com.example.myapplication23.ScoViewParger
            android:id="@+id/im1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"/>
    
    
    </RelativeLayout>

    其他部分同上一篇博客

  • 相关阅读:
    用动画切换按钮的状态
    用UICollectionView实现无限轮播图
    水平方向瀑布流
    UICollectionViewFlowLayout使用示例
    旋转木马效果
    Greenplum集群或者Postgresql出现死锁肿么办?
    Lucene的全文检索学习
    Jms规范学习
    Nginx的相关问题
    keepalived+Nginx实现主备保障Nginx的高可用。
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/12769661.html
Copyright © 2011-2022 走看看