Android开源项目 -- 轮播Banner

一、项目简介

项目地址:https://github.com/zhangtiansimple/CarouselBanner

效果图:

 

二、技术选型

本开源项目采用RecycleView实现,由于一直轮播的关系,需要不断的加载下一页,借用RecyclerView的缓存机制,可以很好的实现内存的管理。

 

三、具体实现

1.基本布局

最外层采用FrameLayout作为根布局,然后使用RecyclerView填充满根FrameLayout,再使用LinearLayout作为指示器的容器,和RecyclerView一起加入到根布局里。

public class CarouselBanner extends FrameLayout {

        ...

       private void init(Context context, @Nullable AttributeSet attrs){

        ...        

        mRecyclerView = new RecyclerView(context);
        mLinearLayout = new LinearLayout(context);

        ...

        LayoutParams viewGroupParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        LayoutParams linearLayoutParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        linearLayoutParams.gravity = Gravity.BOTTOM | gravity;
        linearLayoutParams.setMargins(margin, margin, margin, margin);
        addView(mRecyclerView, viewGroupParams);
        addView(mLinearLayout, linearLayoutParams);
        }

}

2.设置RecyclerView

先来看RecycleView的Adapter

public class CarouselAdapter extends RecyclerView.Adapter {

    private List<Object> list;
    private CarouselSwitchBannerListener listener;
    private CarouselBannerClickListener clickListener;

    CarouselAdapter(List<Object> list) {
        this.list = list;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        AppCompatImageView imageView = new AppCompatImageView(parent.getContext());
        RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PAREN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开源项目有很多,但完整的app项目相对较少。以下是我从jcodecraeer网站整理的一些开源app项目: 1、jchat4android手机聊天程序:这是一个基于位置的Android手机聊天软件,采用P2P通讯机制。你可以使用Eclipse创建一个新的Android项目,并添加外部JAR和移动的jChat目录选择到libs目录JadeLeapAndroid.jar库。 2、TorProxy应用:该应用实现了Android手机的无线电传通讯(TOR),与Shadow应用一起使用,可以使手机匿名上网。从该项目的源代码中,你可以学习socket连接、管理cookie等方法。Shadow项目有20个目标文件,TorProxy项目有83个目标文件。 这些开源项目提供了很好的学习和参考资源,如果你对Android开发感兴趣,可以仔细研究它们。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [9个完整android开源app项目](https://blog.csdn.net/weixin_30667649/article/details/94945480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Android优秀开源项目大全](https://blog.csdn.net/fangyong2006/article/details/84538381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值