当前位置:主页 > android教程 > android轮播图引导页

android实现轮播图引导页

发布:2023-03-05 16:30:01 59


我们帮大家精选了相关的编程文章,网友黎雁梅根据主题投稿了本篇教程内容,涉及到android、轮播图、引导页、android轮播图引导页相关内容,已被870网友关注,内容中涉及的知识点可以在下方直接下载获取。

android轮播图引导页

android轮播图引导页(因为是引导页,所以不具备自动轮播的功能)

示例:

代码后面有数字,3.1开始就是开始做小圆点

//分为三个部分

(1)布局

activity_lun_bo_main.xml



    
    

    


1.2下面是小圆点的两个布局(大小,颜色),因为颜色不一样,所以要分开定义

shape_point_normal.xml




    
    

shape_point_selected.xml



    
    

LunBoMainActivity

(2)第二步(主要MainActivity)

package com.example.myapplication.lunbotu;

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.LinearLayout;

import com.example.myapplication.R;

import java.util.ArrayList;
import java.util.List;

public class LunBoMainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {
    private ViewPager mViewPager;
    private LunboAdapter mLunboAdapter;//适配器
    private static List sImas= new ArrayList<>();//装图片的列表
    private LinearLayout mPointContainer;//加小圆点,声明线性布局
    
    static {
    //这是四张图片
        sImas.add(R.mipmap.yingdao1);
        sImas.add(R.mipmap.yingdao2);
        sImas.add(R.mipmap.yingdao3);
        sImas.add(R.mipmap.yingdao4);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lun_bo_main);
        //调用方法完成图片的轮播
        initView();
    }

    private void initView() {
        mViewPager = findViewById(R.id.app_lunbotu);
        mLunboAdapter = new LunboAdapter();
        mLunboAdapter.setData(sImas);//设置数据
        mViewPager.setAdapter(mLunboAdapter);
        //以上四步是普通的轮播图
        mViewPager.addOnPageChangeListener(this);//3.4
        mPointContainer = findViewById(R.id.app_points_container);//3.2
        insertPoint();//3.1


        //下面这一步是无限轮播图
        mViewPager.setCurrentItem(mLunboAdapter.getDataRelasize()*100,false);//false是否做动画

    }

    private void insertPoint() {
        //把点放进去,3.3
        for(int i=0;i

LunboAdapter

(3)第三步(适配器)

package com.example.myapplication.lunbotu;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerAdapter;

import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import java.util.List;

public class LunboAdapter extends PagerAdapter {
    private List sImastwo ;

    @Override
    public int getCount() {
        if(sImastwo != null){
            return Integer.MAX_VALUE;//(图片无限)(注意这里是Integer)
        }
        return 0;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        int relaNum = position%sImastwo.size();
        ImageView imageView = new ImageView(container.getContext());//获取当前的组件
        imageView.setImageResource(sImastwo.get(relaNum));//使无限
        container.addView(imageView);//将视图添加到组件中(类似java中的操作)
        return imageView;

    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        //销毁(让可以循环使用,不会使内存溢出)
        container.removeView((View)object);
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        //判断,View是否与instantiateItem方法返回的Object有联系,有联系则返回true,即返回的对象为所要创建的View时,显示该View
        return view == object;
    }

    public void setData(List sImas) {
        //之前sImastwo是空的,现在已经有图片在里面了
        sImastwo=sImas;
    }

    public int getDataRelasize() {
        if(sImastwo != null){
            return sImastwo.size();
        }else{
            return 0;
        }
    }
}

防止我忘记,记录一下mipmap的位置

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


参考资料

相关文章

  • Android shape标签使用方法介绍

    发布:2023-03-06

    shape算是我们常用的一个标签,他可以生成线条,矩形, 圆形, 圆环,像我们圆角的按钮就可以通过shape来实现,最终Android会把这个带有shape标签的图片解析成一个Drawable对象,这个Drawable对象本质是GradientDrawable


  • Kotlin语言使用WebView示例介绍

    发布:2023-03-07

    随着后台技术的不断发展,App前端的应用都布置了Web页面的界面,这个界面就是由WebView组件渲染出来的。WebView由如下优点:可以直接显示和渲染Web页面或者网页;可以直接调用网络上或者本地的html文件,也可以和JavaScript交互使用


  • Android设备保证数据同步写入磁盘的步骤代码

    发布:2020-01-20

    这篇文章主要介绍了Android设备如何保证数据同步写入磁盘的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习


  • Android传感器的简单使用方法

    发布:2023-03-12

    这篇文章主要为大家详细介绍了Android传感器的简单使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Android修行手册之ConstraintLayout布局使用详解

    发布:2023-03-12

    这篇文章主要为大家介绍了Android修行手册之ConstraintLayout使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • 基于Viewpager2实现登录注册引导页面

    发布:2023-03-05

    这篇文章主要为大家详细介绍了基于Viewpager2实现登录注册引导页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Android neon 优化实践示例

    发布:2023-03-04

    这篇文章主要为大家介绍了Android neon 优化实践示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Android MPAndroidChart绘制原理

    发布:2023-03-02

    这篇文章主要介绍了Android MPAndroidChart绘制原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下


网友讨论