1. List item

起始页引导页+Fragment+viewLaout的一些简单使用

下面由一些简单的介绍:

1. 首先是引导页的插入图片及滑动到最后一张图的一些点击事件

package com.bw.a618lianxi;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;import java.util.ArrayList;
import java.util.List;public class Main2Activity extends AppCompatActivity {private ViewPager viewpager;private  MyViewpagerAdapter myViewpagerAdapter;private  List<Integer> images=new ArrayList<>();private List<ImageView> imageViews=new ArrayList<>();private TextView miao;private TextView tiaoguo;private boolean flag=false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);tiaoguo = (TextView) findViewById(R.id.tiaoguo);miao = (TextView) findViewById(R.id.miao);viewpager = (ViewPager) findViewById(R.id.viewpager);images.add(R.mipmap.duanwu1);images.add(R.mipmap.duanwu2);images.add(R.mipmap.duanwu3);for (int i = 0; i <images.size() ; i++) {Integer integer = images.get(i);ImageView imageView=new ImageView(this);imageView.setImageResource(integer);imageViews.add(imageView);}myViewpagerAdapter=new MyViewpagerAdapter(imageViews);viewpager.setAdapter(myViewpagerAdapter);viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Overridepublic void onPageSelected(int position) {if (position==imageViews.size()-1){tiaoguo.setVisibility(View.VISIBLE);new Thread(new Runnable() {int num=3;@Overridepublic void run() {for (int i = 0; i <=3; i++) {runOnUiThread(new Runnable() {@Overridepublic void run() {miao.setText(num+"s后进入");if (num==0){Intent intent = new Intent(Main2Activity.this, MainActivity.class);startActivity(intent);finish();}}});try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}num--;if (flag==true){break;}}}}).start();}}@Overridepublic void onPageScrollStateChanged(int state) {}});tiaoguo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {flag=true;Intent intent = new Intent(Main2Activity.this, MainActivity.class);startActivity(intent);finish();Toast.makeText(Main2Activity.this,"立即体验",Toast.LENGTH_SHORT).show();}});}
}

2.引导页的适配器功能代码引入图片

package com.bw.a618lianxi;import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;import java.util.List;public class MyViewpagerAdapter extends PagerAdapter {private List<ImageView> imageView;public MyViewpagerAdapter(List<ImageView> imageView) {this.imageView = imageView;}@Overridepublic int getCount() {return imageView.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {return view==object;}@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {container.addView(imageView.get(position));return imageView.get(position);}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {//super.destroyItem(container, position, object);container.removeView(imageView.get(position));}
}

3.进入首页的Fragment+ViewLaout的数据添加及实现滑动效果

package com.bw.a618lianxi;import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;import com.google.android.material.tabs.TabLayout;import java.util.ArrayList;
import java.util.List;public class Myfragment1 extends Fragment {private ViewPager viewPager;private MyFragmentpagerAdapter myFragmentpagerAdapter;private TabLayout tablaout;private int[] image={R.mipmap.a,R.mipmap.b,R.mipmap.c,R.mipmap.d,R.mipmap.e};private int[] image2={R.mipmap.a1,R.mipmap.b1,R.mipmap.c1,R.mipmap.d1,R.mipmap.e1};private List<String> title=new ArrayList<>();private List<Fragment> datas=new ArrayList<>();@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.myfragment1, null);viewPager = view.findViewById(R.id.fragment2);tablaout =view.findViewById(R.id.tablaout);return view;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Myfragmentone myfragmentone = new Myfragmentone();Myfragmenttwo myfragmenttwo = new Myfragmenttwo();Myfragmentthree myfragmentthree = new Myfragmentthree();Myfragmenttfour myfragmenttfour = new Myfragmenttfour();Myfragmenttfvie myfragmenttfvie = new Myfragmenttfvie();datas.add(myfragmentone);datas.add(myfragmenttwo);datas.add(myfragmentthree);datas.add(myfragmenttfour);datas.add(myfragmenttfvie);title.add("首页");title.add("图片");title.add("菜单");title.add("视频");title.add("商店");myFragmentpagerAdapter=new MyFragmentpagerAdapter(getChildFragmentManager(),datas,title);viewPager.setAdapter(myFragmentpagerAdapter);tablaout.setupWithViewPager(viewPager);for (int i = 0; i < tablaout.getTabCount(); i++) {tablaout.getTabAt(i).setIcon(image[i]);}tablaout.getTabAt(0).setIcon(image2[0]);viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Overridepublic void onPageSelected(int position) {System.out.println(position);if (position==1){tablaout.getTabAt(0).setIcon(image[0]);}tablaout.getTabAt(position).setIcon(image2[position]);for (int i = 0; i < tablaout.getTabCount(); i++) {if (i!=position){tablaout.getTabAt(i).setIcon(image[i]);}}}@Overridepublic void onPageScrollStateChanged(int state) {}});}
}

4.Fragment+ViewLaout的适配器代码如下:

package com.bw.a618lianxi;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;import java.util.List;public class MyFragmentpagerAdapter extends FragmentPagerAdapter {private List<Fragment> data;private List<String> title;public MyFragmentpagerAdapter(@NonNull FragmentManager fm, List<Fragment> data,List<String> title) {super(fm);this.data = data;this.title=title;}public MyFragmentpagerAdapter(@NonNull FragmentManager fm, int behavior, List<Fragment> data) {super(fm, behavior);this.data = data;}@NonNull@Overridepublic Fragment getItem(int position) {return data.get(position);}@Overridepublic int getCount() {return data.size();}@Nullable@Overridepublic CharSequence getPageTitle(int position) {return title.get(position);}
}

小提示:要区分fragment和引导页适配器的不同,在fragment适配器继承的是FragmentPagerAdapter,而引导页是PagerAdapter,以及引导页要重写四个方法,fragment重写的是两个,要区分以上两者的不同点!!!

起始页引导页+Fragment+viewLaout的一些简单使用相关推荐

  1. 简单的php引导页面设计,PS简单制作唯美朦胧柔美的渐变APP引导页

    今天小编为大家分享PS简单制作唯美朦胧柔美的渐变APP引导页方法,教程很不错,难度不是很大,推荐到脚本之家,大家快快来学习吧! 此适合和对颜色研究不深,又急需应用的朋友.小编良心保证,再零基础的同学也 ...

  2. viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导页,viewpager 的 tab 指示器等等

    ViewPagerHelper 项目地址:LillteZheng/ViewPagerHelper  简介:这是一个,viewpager 的工具类,内置多种指示器,能够帮你快速完成,轮播图,app 引导 ...

  3. iOS最好用的引导页

    为什么80%的码农都做不了架构师?>>>    最近项目结束的时候又要改引导页,之前写的启动页改起来太麻烦了,所以就直接封装一个,功能可能还不是很完善,但是感觉用起来也比较方便,在这 ...

  4. Uni-App 简单引导页示例

    Uni-App 简单引导页示例 第一步:建3个页面文件.在pages目录下,新建index/init.vue.index/guide.vue.index/home.vue pages.json: {{ ...

  5. Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷

    Android高级控件(四)--VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷 是不是感觉QQ空间什么的每次新版本更新那炫炫的引导页就特别的激动,哈哈,其实他实现起来真的很简单很 ...

  6. Android ViewPager简单实现 - 倒计时、引导页左右滑动

    说明: ViewPager简单实现,方便以后用.做的是一个全屏的引导页. 截图: 代码: GuideActivity.java package com.xinyan.personal.ui.activ ...

  7. android自定义引导页,Android仿大众点评引导页(ViewPage)+主页面(Fragment)的实现

    大家好,今天主要是实现仿大众点评引导页和主页面以及城市定位的实现,主要使用ViewPager+Fragment+SharedPreferences,实现了第一次打开程序出现引导页,再次打开跳过引导页, ...

  8. APP启动引导页的制作,用ViewPager实现翻页动画

    #Android网络与数据存储 第一章学习 ####一个启动引导页的制作#### 概要: 这次制作App的引导页,主要用到2个知识"SharedPreferences 和 ViewPager ...

  9. 仿制慕课网app实现斗鱼,全民k歌视频引导页(ViewVideoViewPaper)炫酷效果

    在几个月前,我第一次玩全民k歌,下载完app,它弹出来的引导页吸引了我,不像以前的引导页一样千篇一律,而是用了视频的方式,用一种动态的方式来实现.在今天,我突然又想起了这个效果,就抽出了一点时间在网上 ...

最新文章

  1. 在ATS 5.3.0上测试域名统计插件channel_stats
  2. Centos7.3 安装Mysql5.7并修改初始密码
  3. Linux服务器tomcat部署war包
  4. 一本书学会可视化设计 pdf_「读书」数据之美-一本书学会可视化设计
  5. 安卓最新系统_安卓最新10.0系统,新增功能都在这了!
  6. idea黑色好还是白色好_白色牛仔裤,好看又好搭
  7. (转)编码剖析@Resource注解的实现原理
  8. “富二代”京东健康狂奔,这一次能否赢了阿里?
  9. diff算法_Virtual Dom和Diff算法
  10. Linux系统非阻塞I/O select、poll和epoll非常好的两篇文章
  11. 分布式数据库中间件–(1) Cobar初始化过程
  12. Python基础之变量和常量
  13. 【PS基本操作】如何使用PS把图片背景去掉、透明背景
  14. NewLife kick off
  15. go语言学习-多重返回和匿名变量
  16. nestjs+vue+ts打造一个酷炫的星空聊天室(含完整数据库设计)
  17. python自动获取微信公众号最新文章
  18. 帝国cms 留言反馈 问题
  19. 简单理解操作系统之存储器管理
  20. 凡是函数中未指定存储类型_函数中未指定存储类别的局部变量,其隐含的存储类别为()...

热门文章

  1. Linux 普通用户权限
  2. mysql 分区表 range
  3. 【共享服务】nfs常见问题处理
  4. 世界杯预测神富而喜悦100%对!网友:靠你真能发财了!
  5. 完美解决#define _AFXDLL or do not use /MD[d]
  6. WordPress,Qui-Pure博客主题,自媒体模板
  7. 程序员常用不常见很难得的地址大全转
  8. Linux之重启reboot命令
  9. 使用wkhtmltopdf将html转为pdf
  10. reshape(1,-1)与reshape(-1,1)的理解