Android 自定义组件学习 3
可能是我继承的类有问题吧...不过重新做了一个继承View的,而且对整个画布进行旋转,效果是图片旋转了,但局限于canvas上View限定的区域,图片不能完全显示,而且还要重写其监听事件。
这是代码:旋转整个canvas
public RotateView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
mBackGroudDrawableId=attrs.getAttributeResourceValue(namespace, "background",R.drawable.qq);
mBackGroudDrawable = context.getResources().getDrawable(mBackGroudDrawableId);
mRotateDegrees=attrs.getAttributeFloatValue(namespace, "rotateDegrees",0.0f);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mRotateDegrees==90.0f) {
canvas.rotate(mRotateDegrees, 0, 0);
canvas.translate(0, -mBackGroundHeight);
}else{
canvas.rotate(mRotateDegrees, mBackGroundWidth/2, mBackGroundHeight/2);
}
mBackGroudDrawable.setBounds(0, 0, mBackGroundWidth, mBackGroundHeight);
mBackGroudDrawable.draw(canvas);
}
@Override
protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
mBackGroundHeight=mBackGroudDrawable.getMinimumHeight();
mBackGroundWidth=mBackGroudDrawable.getMinimumWidth();
if (mRotateDegrees==90.0f) {
setMeasuredDimension(mBackGroundHeight, mBackGroundWidth);
}else{
setMeasuredDimension(mBackGroundWidth, mBackGroundHeight);
}
}
但效果是:
那我想知道有没有一种方法,可以使Button旋转,当我单击叠加在一起的Button中某一个Button时(触发的是该Button未被其他Button覆盖的部分),能够响应我所设定事件,并且我要在每个Button上加载我喜欢的背景图片。
上述,也许只是其中方法的一种(对整个ImageButton旋转),还有一种就是计算每张叠加图片的位置区域,通过一个判断比较的过程来设置响应事件,这种方法比较麻烦,暂时不予考虑.
希望各位热爱Android的童鞋,可以给我小小的建议....小弟真的不胜感激!!!!!!!
转载于:https://www.cnblogs.com/sonken/archive/2010/10/20/2304788.html
Android 自定义组件学习 3相关推荐
- android自定义View学习(一)----创建一个视图类
创建一个视图类 精心设计的自定义视图与其他精心设计的类非常相似.它使用易于使用的界面封装了一组特定的功能,它可以高效地使用CPU和内存,等等.不过,作为一个设计良好的班级,自定义视图应该: 符合And ...
- 通过自定义组件学习Vue系列(二)【时间轴】(附源码)
需求: 用于升级日志的显示 效果图: 实现原理: 主要区域分为两块,时间区和内容区,时间区是画一个圆点和显示一个时间,内容区左边一个竖线和文字显示 然后做一下循环,将每个日期的数据显示出来 布局采用f ...
- Android自定义组件之ListPopWindow
最近小编在学习IOS开发,感触颇深,看到了iOS里面封装了好多组件,很多组件都是iOS自带的,相信一般的小公司的产品经理都是按照iOS的交互来设计UI,而且还要求Android要和iOS统一风格,这让 ...
- android 自定义组件圆形边框
在android开发中,我们经常要自定义组件如TextView等背景或边框为四角圆形. 首先,我们在drawable目录下新建一个xml文件,bg.xml <?xml version=" ...
- android 使用自定义组件,Android自定义组件开发之onMeasure使用
一.自定义组件造成其他组件的隐藏 我们在开发过程中往往现有的组件无法满足我们的需求,所有我们需要去自定义组件来实现我们的需求,在实现的过程中总会有各种问题,这里我们讨论一下onMeasure的使用,首 ...
- android自定义View学习(二)----自定义绘图
自定义绘图 自定义视图中最重要的部分是它的外观.根据您的应用需求,自定义绘图可以很容易或复杂.本篇涵盖了一些最常见的操作 onDraw() 绘制自定义视图中最重要的步骤是重写该onDraw()方法.参 ...
- Android 自定义组件随着手指自动画圆
首先自定义一个View子类: package com.example.androidtest0.myView;import android.content.Context; import androi ...
- Android自定义组件——3D立体旋转控件
BingoIdea 一个3D立体切换的自定义ViewGroup demo,支持横向和纵向滑动翻转. 项目配置 在项目的build.gradle配置 allprojects {repositories ...
- Android自定义动画学习,实现左右摇摆动画
(转载)http://johnnyg.iteye.com/blog/2074464 我们都知道Android SDK给我们提供了4种常用的动画效果分别是: AlphaAnimation:透明度变化动画 ...
最新文章
- [JSOI2007]建筑抢修
- select使用css居右对齐
- mac vagrant 虚拟机nfs挂载点
- JDK源码笔记-java.util.HashMap
- wordpress功能集成(二):基础知识-wordpress钩子(转)
- 百度地图——判断用户是否在配送范围内解决方案
- 为type=file的input标签制定样式——CSS基础
- 本部裁员、分部招人,科技公司的岗位都奔向了外地?
- 光芒国际——我的面试(二)
- 适应关键业务环境的加湿系统
- Ubuntu 14.04 + nginx + php + mysql + phpmyadmin环境搭建,详细操作
- kubernetes 简介:调度器和调度算法((Affinity/Anti-Affinity, Taints and Tolerations, 自定义调度器 )
- ssh 远程执行脚本(自己总结)
- JAVA爬取淘宝、京东、天猫以及苏宁商品历史价格(二)
- Mysql开启3306端口远程访问
- Tesseract综述
- 计算机硬件系统由 组成,计算机硬件系统由哪几部分组成?
- 心心念念想打游戏,游戏 套路有哪些?怎么做留存?
- 推荐两个实用的视频解析工具
- 12款APP用户超千万,羊驼教育靠什么打造“更大的世界”?
热门文章
- LuaForUnity2:Lua基本数据类型与符号
- 无根树的同构:Hash最小表示法(bzoj 4337: BJOI2015 树的同构)
- bzoj 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题(DP)
- bzoj 1676: [Usaco2005 Feb]Feed Accounting 饲料计算(差分)
- C++ #include iostream #include iostream.h #include string.h区别及作用
- matlab bwdist
- C语言实现链队列并测试
- java生成和识别二维码
- jQuery Mobile事件,开发全解+完美注释
- python如何查看官方文档