Android自定义控件之酷狗音乐皮肤界面缩放预览
来源:互联网 发布:mac电池健康度怎么看 编辑:程序博客网 时间:2024/04/30 07:57
酷狗音乐的这个皮肤预览功能,是将整个界面缩小,就是将canvas缩小。public class ScaleRelativeLayout extends RelativeLayout { float scale = 1; float mViewHeight; float mScreenWidth, mScreenHeight; public ScaleRelativeLayout(Context context) { this(context,null); } public ScaleRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void dispatchDraw(Canvas canvas) { canvas.save(); canvas.translate(0, (mScreenHeight - mViewHeight) / 2); canvas.scale(scale, scale, mScreenWidth / 2, mScreenHeight / 2); super.dispatchDraw(canvas); canvas.restore(); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { if (mScreenHeight != 0) { scale = (mViewHeight - getPaddingTop() - getPaddingBottom()) / mScreenHeight; } super.onSizeChanged(w, h, oldw, oldh); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(getDefaultSize(0, widthMeasureSpec), getDefaultSize(0, heightMeasureSpec)); mViewHeight = getMeasuredHeight(); mScreenHeight = ScreenUtils.getScreenHeight(getContext()); mScreenWidth = ScreenUtils.getScreenWidth(getContext()); super.onMeasure(MeasureSpec.makeMeasureSpec((int) mScreenWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec( (int) mScreenHeight, MeasureSpec.EXACTLY)); }}
参考:Android自定义控件
阅读全文
0 0
- Android自定义控件之酷狗音乐皮肤界面缩放预览
- Android自定义控件皮肤
- android:自定义控件皮肤
- android--自定义控件皮肤
- VC++界面编程之--自定义标签控件(CStatic)皮肤
- Android学习之动画效果的实现、自定义控件皮肤
- Android 图片缩放自定义控件
- Android自定义控件之会缩放的GridView
- Android 自定义控件之三点循环缩放
- Qt之自定义界面(窗体缩放)
- Qt之自定义界面(窗体缩放)
- VC++界面编程之--自定义进度条(CProgressBar)皮肤
- VC++界面编程之--自定义CButton(按钮)皮肤
- VC++界面编程之--自定义CEdit(编辑框)皮肤
- VC++界面编程之--实现工具栏自定义皮肤
- Android 实现图片自动缩放自定义控件
- 自定义相机预览界面
- Android控件之ZoomControls缩放控件
- 如何将经纬度数据通过ArcGIS转换为KML文件展绘到Google Earth 并且获取大致面积
- Memcached简述
- 新项目二之整理资料(原型、需求、流程图)《未完待续》
- RandomAccessFile使用小结
- 网络判断
- Android自定义控件之酷狗音乐皮肤界面缩放预览
- jquery 监听div内容变化
- iframe用法收藏
- px与rem的转换
- MVP架构,登录页面
- Spring官网改版后如何进行各个版本的jar包下载
- 内存泄漏总结
- 在Js中使程序睡眠的sleep方法
- java 对字符编码的处理