Android菜鸡的提升之路---ViewPager艺术(实现简单的图片展示器)_安卓 viewpager 展示图片

</android.support.constraint.ConstraintLayout>



这里用的是ConstraintsLayout,不太会的同学可以去百度一下,挺好用的一个布局方式。


下面附上java代码:




package com.example.admin.viewpage;

import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

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

public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener{
ViewPager viewPager;
// View view1,view2; *// List viewList;*Button but_2;
List imageViewList;
ImageView []img;

@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionbar = getSupportActionBar();
if(actionbar!=null){
actionbar.hide();
}//隐藏标题viewPager** = (ViewPager)findViewById(R.id.viewpage);//绑定视图imageViewList** = new ArrayList<>();//new list对象 ,放的是底图but_2** = (Button)findViewById(R.id.but_2);//绑定视图/* LayoutInflater layoutInflater = getLayoutInflater(); view1 = layoutInflater.inflate(R.layout.layout1,null); view2 = layoutInflater.inflate(R.layout.layout2,null); viewList = new ArrayList<>(); viewList.add(view1); viewList.add(view2);*/img = new ImageView[3];//小点点的ImageView控件数组,这里三张img[0] = (ImageView)findViewById(R.id.imageView1);
img[1] = (ImageView)findViewById(R.id.imageView2);
img[2] = (ImageView)findViewById(R.id.imageView3);

    initData();*//**初始化底部图片**//ViewPager**的适配器,至少写一下四个函数*PagerAdapter pagerAdapter = **new** PagerAdapter() {
        @Override

public int getCount() {//统计数量return** imageViewList.size();
}

        @Override

public boolean isViewFromObject(View view, Object object) {
return view == object;//是否是当前的View}

        @Override

public void destroyItem(ViewGroup container , int position, Object object){
container.removeView(imageViewList.get(position));
//删除view}

        @Override

public Object instantiateItem(ViewGroup container , int pisition){
container.addView(imageViewList.get(pisition));
return imageViewList.get(pisition);
//添加View}

    };

    **viewPager**.setAdapter(pagerAdapter);*//**绑定适配器***viewPager**.setOnPageChangeListener(**this**);*//**添加* *PageChangeListener**监听事件*}

**public void** initData(){
    ImageView imageView = **new** ImageView(**this**);
    imageView.setImageResource(R.drawable.***ka\_1***);
    imageView.setScaleType(ImageView.ScaleType.***FIT\_XY***);
    **imageViewList**.add(imageView);*//**把底图一张张添加到**list**中*ImageView imageView1 = **new** ImageView(**this**);
    imageView1.setImageResource(R.drawable.***ka\_2***);
    imageView1.setScaleType(ImageView.ScaleType.***FIT\_XY***);
    **imageViewList**.add(imageView1);

    ImageView imageView2 = **new** ImageView(**this**);
    imageView2.setImageResource(R.drawable.***ka\_3***);
    imageView2.setScaleType(ImageView.ScaleType.***FIT\_XY***);
    **imageViewList**.add(imageView2);

}

*/\** *PageChangListener**需要重写的方法* *\*/*@Override

public void onPageSelected(int position) {
//当前选中的位置if**(position == imageViewList.size()-1){
but_2.setVisibility(View.VISIBLE);//当显示到最后一张的时候出现button}
else****but_2.setVisibility(View.GONE);

最后附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)

面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,下面这份PDF是我翻阅了差不多1个月左右一些Android大博主的博客从他们那里取其精华去其糟泊所整理出来的一些Android的核心知识点, 全部都是精华中的精华,我能面试到现在资深开发人员跟我整理的这本Android核心知识点有密不可分的关系,在这里本着共赢的心态分享给各位朋友。

这份PDF囊括了JVM,Java集合,Java多线程并发,Java基础,生命周期,微服务, 进程,Parcelable 接口,IPC,屏幕适配,线程异步,ART,架构,Jetpack,NDK开发,计算机网络基础,类加载器,Android 开源库源码分析,设计模式汇总,Gradle 知识点汇总…

由于篇幅有限,就不做过多的介绍,大家请自行脑补

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 16
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值