当前位置:首页 > 谈天说地

android ViewPager实现一个无限轮播图

34资源网2022-02-04444

上节我们实现了一个图片可以无限滑动的viewpager,这一节我们需要自定义一个viewpager来实现我们想要展现的布局

首先我们需要建一个包,然后新建一个java类,名字随便起

这个类我们需要随便继承自一个viewgroup就行,viewgroup就是可以存放子控件的view,我们的各种layout,比如linearlayour或者relativelayout这种可以在里面放东西的view,而textview或者imageview这种只能放内容而不能放其他view的就是普通view

然后我们选中三个构造器

package com.example.viewpager.views;
 
import android.content.context;
import android.util.attributeset;
import android.view.layoutinflater;
import android.widget.relativelayout;
 
import androidx.annotation.nonnull;
 
import com.example.viewpager.r;
 
import java.util.abstractset;
 
public class looperpager extends relativelayout {
 
    public looperpager(context context) {
 
        super(context);
    }
    public looperpager(context context,@nonnull abstractset abstrs) {
 
        super(context, (attributeset) abstrs);
    }
    public looperpager(context context,@nonnull abstractset abstrs,int defstyleattr) {
 
        super(context, (attributeset) abstrs,defstyleattr);
        
    }
 
}

 然后我们在新建一个layout文件把想要实现的布局写进去

因为我们是为viewpager实现一个无限轮播的轮播图,首先当然是写一个viewpager,然后是一个上方的标题,我们写一个textview,因为想要和悲情区分开来,我们给背景设定为红色,标题设定为白色,然后把文字居中,最后因为我们想要图片在滑动时下方有一排根据图片数量显示滑动时代表图片的标志的样式,我们设定一个在控件底部居中显示的线性布局,然后再线性布局内设定三个白色大小为5dp前后间隔为5dp的view

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:background="@color/coloraccent"//背景设为红色
    android:orientation="vertical">
 
    <androidx.viewpager.widget.viewpager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
 
    <textview
        android:id="@+id/textview2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="我是标题"
        android:background="#ffffff "//背景设为白色
        android:textalignment="center"//居中 
        />
    <linearlayout
        android:layout_centerhorizontal="true"//设为居中
        android:layout_alignparentbottom="true"//设为底部
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <view
        android:layout_width="5dp"
        android:layout_height="5dp"
            android:layout_marginleft="5dp"
            android:layout_marginright="5dp"
            android:background="#ffffff "/>
        <view
        android:layout_width="5dp"
        android:layout_height="5dp"
            android:layout_marginleft="5dp"
            android:layout_marginright="5dp"
            android:background="#ffffff "/>
        <view
        android:layout_width="5dp"
        android:layout_height="5dp"
            android:layout_marginleft="5dp"
            android:layout_marginright="5dp"
            android:background="#ffffff "/>
 
    </linearlayout>
 
 
</relativelayout>

实现效果就是这样的

 接下来就是把我们写好的自定义布局绑定我们的自定义的类,因为我们想要无论调那个构造方法最后像都让他去调我们写绑定的方法,所以我们要把其他方法里面的supper都改成this

package com.example.viewpager.views;
 
import android.content.context;
import android.util.attributeset;
import android.view.layoutinflater;
import android.widget.relativelayout;
 
import androidx.annotation.nonnull;
 
import com.example.viewpager.r;
 
import java.util.abstractset;
 
public class looperpager extends relativelayout {
 
    public looperpager(context context) {
 
        this(context,null);
    }
    public looperpager(context context,@nonnull abstractset abstrs) {
 
        this(context,  abstrs,0);
    }
    public looperpager(context context,@nonnull abstractset abstrs,int defstyleattr) {
 
        super(context, (attributeset) abstrs,defstyleattr);
        //自定义布局绑定当前类,this:当前类,ture:确定绑定
        layoutinflater.from(context).inflate(r.layout.looper_pager,this,true);
    }
 
}

 下一步就是实验我们的自定义控件有没有成功啦,

重新创建一个启动文件然后在再创建一个lauout文件

,这里我们右键刚才的looppager选择

 然后在新建的layout文件里面粘贴设定好宽和高

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".mainactivity">
 
    <com.example.viewpager.views.looperpager
        android:layout_width="match_parent"
        android:layout_height="120dp"/>
 
 
 
</relativelayout>

最后在我们新建的activity里面绑定刚才写好的layout文件

package com.example.viewpager;
 
import android.os.bundle;
import android.os.persistablebundle;
 
import androidx.annotation.nullable;
import androidx.appcompat.app.appcompatactivity;
 
public class supper_mainactivity extends appcompatactivity {
    @override
    public void oncreate(@nullable bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.supper_activity_main);
    }
}

效果就实现了 

但刚开始写完之后程序打开就报错,我从凌晨一点开始找错误,找到两点半发现布局文件里面的view写成小写view了,当时的心情不是一般的酸爽.....................

到此这篇关于android viewpager实现一个无限轮播图的文章就介绍到这了,更多相关android viewpager轮播图内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/7029.html

分享给朋友:

相关文章

互联网有什么创业项目?这三种可以尝试下

互联网有什么创业项目?这三种可以尝试下

这几年来,很多互联网公司收到重创,苹果手机在中国的销量也在下跌,其股价更是跌得不行。京东创始人也因为去年的“桃色事件”一直名声不好,虽然后来解决了,不过还是有很大影响。互联网创业似乎已经步入了艰难期,不过,还是有很多人一头扎进来。在现在这个…

怎么用兴趣造句?15句关于兴趣的造句示例

怎么用兴趣造句?15句关于兴趣的造句示例

很多人不知道怎么用兴趣造句?下面小编整理了15句关于兴趣的造句示例希望对大家有所帮助。…

苹果X快充PD充电器推荐,现在下载还有优惠券可以领呢

苹果X快充PD充电器推荐,现在下载还有优惠券可以领呢

现在有很多人用的是苹果手机,因为平时有些人不注意使用方式或者使用充电器比较频繁导致损坏。大家都知道苹果手机和安卓手机的充电器是不一样的,不能用安卓手机的充电器充苹果手机。所以,大家如果苹果手机充电器损坏了,需要购买的话就要买个专门的苹果手机…

单身想找个女朋友,男的去哪里可以找个女朋友

单身想找个女朋友,男的去哪里可以找个女朋友

现在中国的男女比例失调,男的光棍要比女的多出3000w以上,这是个什么概念?代表着有3000w人是找不到对象的。所以很多单身男的就开始发愁了,单身想找个女朋友究竟到哪里找呢?说实话,小编也是一名单身汉,也正在找女朋友,虽然说,我没有找到女朋…

抖音如果让我遇见你而你正当年轻是什么歌曲?

抖音如果让我遇见你而你正当年轻是什么歌曲?

《抖音》短视频平台上有不少老歌经过翻唱火了,可能刚好歌词传递的情感引起了网友们的共鸣,而最近比较火的一首歌歌词大概是如果让我遇见你而你正当年轻,好多网友不知道首是什么歌曲?小编刚开始也不知道,后来经过搜索得知这是一首老歌《怨苍天变了心》,是…

曹德旺的经典语录分享

曹德旺的经典语录分享

曹德旺,福耀玻璃集团创始人、董事长。中国反倾销胜诉第一人、中国首善、安永企业家奖首位华人获得者 。福耀玻璃目前是中国第一、世界第二大汽车玻璃供应商。他是不行贿的企业家,自称“没送过一盒月饼”,以人格做事;他是行善的佛教徒,从1983年第一次…