Android怎么实现网易云推荐歌单界面
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"Android怎么实现网易云推荐歌单界面"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android怎么实现网易云推荐歌单界面"文章能帮助大
千家信息网最后更新 2026年11月04日Android怎么实现网易云推荐歌单界面
这篇文章主要介绍"Android怎么实现网易云推荐歌单界面"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android怎么实现网易云推荐歌单界面"文章能帮助大家解决问题。
一、实现
1.自定义一个圆角图片控件(也可直接使用第三方框架)
由于是一些简单的绘制,就不一一介绍了,直接上代码。
public class MellowImageView extends ImageView { private Paint paint; public MellowImageView(Context context) { super(context); } public MellowImageView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public MellowImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); paint=new Paint(); } /** * 绘制圆角矩形图片 * @author jimeng */ @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = getBitmapFromDrawable(drawable); Bitmap b = getRoundBitmapByShader(bitmap,getWidth(),getHeight(), 20,0); final Rect rectSrc = new Rect(0, 0, b.getWidth(), b.getHeight()); final Rect rectDest = new Rect(0,0,getWidth(),getHeight()); canvas.drawBitmap(b, rectSrc, rectDest, paint); } else { super.onDraw(canvas); } } /** * 把图片转换成Bitmap * @param drawable * 资源图片 * @return 位图 */ public static Bitmap getBitmapFromDrawable(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap bitmap = Bitmap.createBitmap(width, height, drawable .getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.draw(canvas); return bitmap; } public static Bitmap getRoundBitmapByShader(Bitmap bitmap, int outWidth, int outHeight, int radius, int boarder) { if (bitmap == null) { return null; } int width = bitmap.getWidth(); int height = bitmap.getHeight(); float widthScale = outWidth * 1f / width; float heightScale = outHeight * 1f / height; Matrix matrix = new Matrix(); matrix.setScale(widthScale, heightScale); //创建需要输出的bitmap Bitmap desBitmap = Bitmap.createBitmap(outWidth, outHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(desBitmap); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); //着色器 BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); //给着色器配置matrix bitmapShader.setLocalMatrix(matrix); paint.setShader(bitmapShader); //创建矩形区域并且预留出border RectF rect = new RectF(boarder, boarder, outWidth - boarder, outHeight - boarder); //把传入的bitmap绘制到圆角矩形区域内 canvas.drawRoundRect(rect, radius, radius, paint); return desBitmap; }}效果图如下:
时间原因,一些简单的细节没有画上去。
2.进行布局摆设
将整个布局放在HorizontalScrollView中使其可以左右滑动,以一个item为例。
3.图片切换动画效果
博主使用的是ViewFlipper。
XML代码如下
划重点:两个动画文件,计蒙调试的将近30分钟才调试成类似效果
anim_marquee_in:
anim_marquee_out:
在Java文件中为ViewFlipper添加view:
private ViewFlipper viewFlipper; //--------------------------------- viewFlipper.removeAllViews(); View view = View.inflate(getContext(), R.layout.home_rebroadcast_item, null); MellowImageView carouselImageView=view.findViewById(R.id.carousel_item_iv); View view1 = View.inflate(getContext(), R.layout.home_rebroadcast_item1, null); MellowImageView carouselImageView1=view.findViewById(R.id.carousel_item_iv); // 循环滚动图片的点击事件 // iv.setOnClickListener(new ....); //添加view viewFlipper.addView(view); viewFlipper.addView(view1);二、实现效果展示
关于"Android怎么实现网易云推荐歌单界面"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图片
效果
歌单
界面
网易
推荐
圆角
知识
矩形
代码
动画
区域
布局
文件
行业
不同
实用
两个
事件
位图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网电商科技
金诺互联网科技
高科技与互联网
奇酷互联网络科技公司
科技创新互联网企业
上海致骋互联网科技
友谊互联网络科技
互联网科技博客
团飞科技与伯堂互联网服务平台
汽车互联网创新科技园
受益于互联网科技的高速发展
移动互联网科技公司
燊美集互联网科技有限公司
迪庆互联网科技招生
梅州GM互联网络科技有限公司
东营紫格互联网科技
唐山双旺合互联网科技产业园
互联网科技的前景
三亚科技创新互联网基地
盐城市攀科互联网科技有限公司
美国互联网科技巨头监管
互联网科技视频
贷财互联网科技
猫创互联网科技
互联网科技大会案例
阿大互联网科技有限公司
四川慕妮娅互联网科技有限公司
明优互联网科技有限公司
每天都有哪些好的互联网科技
普陀区互联网教育科技管理办法