我们帮大家精选了相关的编程文章,网友黎雁梅根据主题投稿了本篇教程内容,涉及到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 ListsImas= 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 ListsImastwo ; @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的位置
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。