当前位置:首页 > 谈天说地 > 正文内容

android ViewPager实现一个无限轮播图

34资源网2022年02月04日 10:17247
站长推荐》》》》》摆摊地推这两款软件,一个月3000元-3万元轻松实现《《《《《站长推荐

上节我们实现了一个图片可以无限滑动的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轮播图内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

看完文章,还可以用支付宝扫描下面的二维码领取一个支付宝红包,目前可领1-88元不等

支付宝红包二维码

除了扫码可以领取之外,大家还可以(复制 720087999 打开✔支付宝✔去搜索, h`o`n.g.包哪里来,动动手指就能领)。

看下图所示是好多参与这次活动领取红包的朋友:

支付宝红包

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

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

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

分享给朋友:

相关文章

用共庆造句大全,30句分享
用共庆造句大全,30句分享

用共庆造句30句分享:(1)澳门回归,神州大地,共庆佳节,东方巨龙,巍然屹立,祖国之昌,需要你我,艰苦奋斗,祖国明天,定会美好,团结协作,再铸辉煌。(2)国庆之夜,人们轻歌曼舞,共庆佳节。(3)晚间则大家挨家挨户喝酒、共庆佳节。(4)云淡风...

疫情还是很严峻,最近去超市都要检测了
疫情还是很严峻,最近去超市都要检测了

疫情还是很严峻,最近去超市也要各种检测了,记得前不久我去超市还是比较宽松的,基本上没有专门的检测员,口罩也不用戴。最近可能是外省一些地区疫情比较严重了,所以温州这边现在检测也更加严格了,我最近去超市买东西都要各种检测,买个菜呀,买些零食吃的...

抖音传话筒项目(傻瓜式复制粘贴轻松月入3000+)
抖音传话筒项目(傻瓜式复制粘贴轻松月入3000+)

可能你觉得你写不出优秀的文案,可能你觉得你没办法配音,可能你觉得不好意思露脸,但又想通过抖音来赚钱,那么今天给大家来说说这个抖音传话筒项目,只需要复制粘贴,一个月轻松赚到3000+,无需露脸配音,更加不需要写文案。上图是我通过抖音搜索“传话...

抖音黄v认证有什么好处(抖音流量高的是蓝v和黄v)
抖音黄v认证有什么好处(抖音流量高的是蓝v和黄v)

我将要在这里告诉你们关于抖音号橱窗蓝v抖音小店所有的知识,认真看完。我们一个抖音号需要一个手机卡,那么一个人可以去移动、联通、电信各办五张,一共是15张手机卡,也就是说一个人可以拥有15个抖音号;那么一个人一张身份证只可以实名一个抖音号,实...

带货直播运营怎么做(直播公司盈利模式)
带货直播运营怎么做(直播公司盈利模式)

直播网红千千万,谁能争当NO.1?随着直播崛起,越来越多的人想要入场分一杯羹,BUT,80%的人都不懂直播运营的内容法则。那么,新手主播怎么玩才能快速脱颖而出呢?掌握这四大直播运营的内容规则,人气轻松翻倍!1. 直播内容多样化主播想要保证直...

购买须知模板怎么编辑(淘宝买家须知免费素材)
购买须知模板怎么编辑(淘宝买家须知免费素材)

为了帮助您入门,在您注册 Shopify 帐户时,后台的模版页面中会设置一个默认模版。如果您想为在线商店自定义一个不同的模版,则需要向后台添加一个模版。 您可通过以下几种方式添加模版: 如果您的计算机上的 .zip 文件中已有一个模版...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。