淘先锋技术网

首页 1 2 3 4 5 6 7

MainActivity.java


package com.wust.mydialog;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;

import android.widget.LinearLayout;



import androidx.annotation.NonNull;

import androidx.viewpager.widget.PagerAdapter;

import androidx.viewpager.widget.ViewPager;

public class MainActivity extends Activity {



    private ViewPager vp_img;

    private int[] imageIds = new int[]

            {

                    R.drawable.pre1, R.drawable.pre2, R.drawable.pre3, R.drawable.pre4,

                    R.drawable.pre5, R.drawable.pre6, R.drawable.pre7, R.drawable.pre8,

                    R.drawable.pre9, R.drawable.pre10, R.drawable.pre11, R.drawable.pre12,

                    R.drawable.pre13, R.drawable.pre14, R.drawable.pre15, R.drawable.pre16,

                    R.drawable.pre17, R.drawable.pre18, R.drawable.pre19, R.drawable.pre20,

                    R.drawable.pre21

            };



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        bindView();

        bindData();

    }



    private void bindView() {

        vp_img = findViewById(R.id.vp_img);

    }



    private void bindData() {

        MyAdapter myAdapter = new MyAdapter();

        vp_img.setOffscreenPageLimit(5);

        vp_img.setPageMargin(10);

        vp_img.setPageTransformer(false,new MyTransformer());

        vp_img.setAdapter(myAdapter);

    }



    private class MyAdapter extends PagerAdapter {

        @Override

        public int getCount() {

            return imageIds.length;

        }



        @Override

        public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {

            return view == object;

        }



        @NonNull

        @Override

        public Object instantiateItem(@NonNull ViewGroup container, int position) {

            ImageView iv = new ImageView(getApplication());

            iv.setImageResource(imageIds[position]);

            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(50,50);

            iv.setLayoutParams(params);

            container.addView(iv);

            return iv;

        }



        @Override

        public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {

            container.removeView((View) object);

        }

    }



    private class MyTransformer implements ViewPager.PageTransformer {

        @Override

        public void transformPage(@NonNull View page, float position) {

            //第一步:中间 哪张 的 position 属于哪个范围把所有值打印出来观察获得

            //第二步:根据 观察 结果把区间分好

            //第三步:相邻区间保证连贯性

            //注意:这里一次性打印多少个 page 是由页面一次显示多少 imageView 决定的

            if (position>=1&&position<=2){

                page.setScaleY(1.0f + 0.5f*(position-(int)Math.abs(position)));

                page.setScaleX(1.0f + 0.5f*(position-(int)Math.abs(position)));

            }else if (position<=0||position>=3){

                page.setScaleY(0.5f);

                page.setScaleX(0.5f);

            }else if (position>0&&position<1){

                page.setScaleY(0.5f + 0.5f*(position-(int)Math.abs(position)));



### **写在最后**

最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,**从来都是我们去适应环境,而不是环境来适应我们!**

这里附上上述的技术体系图相关的几十套**腾讯、头条、阿里、美团等公司2021年的面试题**,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含**知识脉络 + 诸多细节**,由于篇幅有限,这里以图片的形式给大家展示一部分。

**相信它会给大家带来很多收获:**

![](https://img-blog.csdnimg.cn/img_convert/156e962cc5d7e78521796127e5b4cfd8.png)

![](https://img-blog.csdnimg.cn/img_convert/2299a1b4b372d7c61d8785b5309b82f5.png)

**[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://codechina.csdn.net/m0_60958482/android_p7)**


[外链图片转存中...(img-lcbEBjT3-1631075587658)]

[外链图片转存中...(img-Cwrlu9Gy-1631075587659)]

**[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://codechina.csdn.net/m0_60958482/android_p7)**

> 当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。