今天学习了制作轮播图效果,实现了最基础的版本:单击实现轮播且不能无线滑动,即划到最后一张再点击就没有效果了
实现原理:与向ListvIEw中添加数据有很大相似之处
activity_main.xml
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" xmlns:tools="http://schemas.androID.com/tools" tools:content=".MainActivity"> <androIDx.vIEwpager.Widget.VIEwPager androID:ID="@+ID/im1" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:scaleType="fitXY"/></relativeLayout>
item,xml
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"><ImageVIEw androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:ID="@+ID/im2"/></linearLayout>
Activity.java
package com.example.myapplication23;import androIDx.annotation.NonNull;import androIDx.appcompat.app.AppCompatActivity;import androIDx.vIEwpager.Widget.PagerAdapter;import androIDx.vIEwpager.Widget.VIEwPager;import androID.graphics.Bitmap;import androID.graphics.BitmapFactory;import androID.graphics.drawable.BitmapDrawable;import androID.os.Bundle;import androID.os.Handler;import androID.os.Message;import androID.util.Log;import androID.vIEw.LayoutInflater;import androID.vIEw.MotionEvent;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.ImageVIEw;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListVIEw;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.TimerTask;public class MainActivity extends AppCompatActivity { private VIEwPager vIEwPager; private List<Integer>List=new ArrayList<>(); @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); initVIEws(); initData(); } private voID initVIEws() { //加载布局 vIEwPager = (VIEwPager) findVIEwByID(R.ID.im1); vIEwPager.setAdapter(my); } private PagerAdapter my=new PagerAdapter(){ @OverrIDe public int getCount() { return List.size(); } @OverrIDe public boolean isVIEwFromObject(@NonNull VIEw vIEw, @NonNull Object object) { return vIEw==object; } //Alt+Insert @NonNull @OverrIDe public Object instantiateItem(@NonNull VIEwGroup container, int position) { VIEw item= LayoutInflater.from(container.getContext()).inflate(R.layout.item,container,false); ImageVIEw iv=item.findVIEwByID(R.ID.im2); //设置数据 iv.setimageResource(List.get(position)); if(iv.getParent() instanceof VIEwGroup){ ((VIEwGroup)iv.getParent()).removeVIEw(iv); } container.addVIEw(iv); return iv; } @OverrIDe public voID destroyItem(@NonNull VIEwGroup container, int position, @NonNull Object object) { container.removeVIEw((VIEw)object); } }; private voID initData() { //加载数据 List.add(R.mipmap.a1); List.add(R.mipmap.a2); List.add(R.mipmap.a3); my.notifyDataSetChanged(); }}
总结
以上是内存溢出为你收集整理的4/24 学习总结全部内容,希望文章能够帮你解决4/24 学习总结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)