实现动态旋转控件

顾小林 2012-12-11 02:00:45
网上好多资料都是 通过属性来旋转

我现在是想做一个 根据OrientationEventListener 这个监听来动态的改变 控件的方向

我想通过 findViewById 获取控件

然后在 那个监听类中的onOrientationChanged 方法中
用 setOrientation 的方法 动态的改变 该控件的方向

我想要控件重绘一个 但是没有搞好

有没有能提供一个思路的

android 2.3.5
...全文
374 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
vencent_dai 2012-12-17
  • 打赏
  • 举报
回复
引用 20 楼 shen332401890 的回复:
引用 14 楼 coder_dai 的回复:嗯可以的,有个方法是让被动画处理的控件停在最后一帧。 setFillAfter(boolean b)这个方法,参数给true就ok了。 !写在动画方法后。 成功了 ,但是我想问 为什么我在XML中定义的却没有效果呢?
嗯,成功就好。你的问题。能说具体点么?在xml里定义setFillAfter么?还是别的什么?
顾小林 2012-12-17
  • 打赏
  • 举报
回复
引用 16 楼 btyh17mxy 的回复:
咦~前几天有个公司找我做一个项目,他就要求做这么个东西.后来价格没谈妥就没有然后了.
还有一个项目 就要求 这么个东西?
顾小林 2012-12-17
  • 打赏
  • 举报
回复
引用 16 楼 btyh17mxy 的回复:
咦~前几天有个公司找我做一个项目,他就要求做这么个东西.后来价格没谈妥就没有然后了.
你放心 我肯定不是那个 公司的
顾小林 2012-12-17
  • 打赏
  • 举报
回复
引用 19 楼 btyh17mxy 的回复:
引用 18 楼 shen332401890 的回复:引用 16 楼 btyh17mxy 的回复:咦~前几天有个公司找我做一个项目,他就要求做这么个东西.后来价格没谈妥就没有然后了. 还有一个项目 就要求 这么个东西? 是一个电子白板的东西,当时还做了个小Demo,不过没有实现旋转的功能
了解了 谢谢
顾小林 2012-12-17
  • 打赏
  • 举报
回复
引用 14 楼 coder_dai 的回复:
嗯可以的,有个方法是让被动画处理的控件停在最后一帧。 setFillAfter(boolean b)这个方法,参数给true就ok了。 !写在动画方法后。
成功了 ,但是我想问 为什么我在XML中定义的却没有效果呢?
牟蘑菇 2012-12-17
  • 打赏
  • 举报
回复
引用 18 楼 shen332401890 的回复:
引用 16 楼 btyh17mxy 的回复:咦~前几天有个公司找我做一个项目,他就要求做这么个东西.后来价格没谈妥就没有然后了. 还有一个项目 就要求 这么个东西?
是一个电子白板的东西,当时还做了个小Demo,不过没有实现旋转的功能
牟蘑菇 2012-12-16
  • 打赏
  • 举报
回复
咦~前几天有个公司找我做一个项目,他就要求做这么个东西.后来价格没谈妥就没有然后了.
sada09 2012-12-14
  • 打赏
  • 举报
回复
引用 8 楼 shen332401890 的回复:
引用 5 楼 sada09 的回复:引用 4 楼 shen332401890 的回复:引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊 你试过了么?刷新是应该问题不大仅仅只是在set时ondraw, ……
在set时候的方法调用 public void setOrientation(boolean orientation) { Orientation = orientation; invalidate(); } 我测试时旋转不卡,至于变形的话,没有明白。 旋转180°用下 mMatrix.setRotate(180, centerX, centerY); 其中旋转中心为center.其他的你继续研究一下
顾小林 2012-12-14
  • 打赏
  • 举报
回复
引用 14 楼 coder_dai 的回复:
嗯可以的,有个方法是让被动画处理的控件停在最后一帧。 setFillAfter(boolean b)这个方法,参数给true就ok了。 !写在动画方法后。
谢谢 明天试试看
vencent_dai 2012-12-14
  • 打赏
  • 举报
回复
嗯可以的,有个方法是让被动画处理的控件停在最后一帧。 setFillAfter(boolean b)这个方法,参数给true就ok了。 !写在动画方法后。
顾小林 2012-12-14
  • 打赏
  • 举报
回复
引用 12 楼 coder_dai 的回复:
为什么要重绘那么麻烦。 不是有animation么,通过更改控件坐标,就可以实现旋转了,而且可以旋转任意角度。
旋转完了你要停在那里啊 动画能停在某个地方吗?
vencent_dai 2012-12-14
  • 打赏
  • 举报
回复
为什么要重绘那么麻烦。 不是有animation么,通过更改控件坐标,就可以实现旋转了,而且可以旋转任意角度。
顾小林 2012-12-14
  • 打赏
  • 举报
回复
引用 9 楼 sada09 的回复:
引用 8 楼 shen332401890 的回复:引用 5 楼 sada09 的回复:引用 4 楼 shen332401890 的回复:引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊 你试过了么?刷……
好的谢谢
天蓝dylan 2012-12-12
  • 打赏
  • 举报
回复
引用 4 楼 shen332401890 的回复:
引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊
如果不是在onThouch事件刷新可以创建Handler,用线程控制旋转角度,然后发送消息让UI线程进行invalidate
sada09 2012-12-12
  • 打赏
  • 举报
回复
引用 4 楼 shen332401890 的回复:
引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊
你试过了么?刷新是应该问题不大仅仅只是在set时ondraw, 效果很不理想是指你试过之后的效果么?
顾小林 2012-12-12
  • 打赏
  • 举报
回复
引用 3 楼 Dylan465 的回复:
同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中
调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊
顾小林 2012-12-12
  • 打赏
  • 举报
回复
引用 5 楼 sada09 的回复:
引用 4 楼 shen332401890 的回复:引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊 你试过了么?刷新是应该问题不大仅仅只是在set时ondraw, 效果很不理想是指你试过之后的效果么?……
我继承一个 button 刷新以后 就出现不全的状况 控件 刷新 也缓慢 就是点控件后 不立即刷新
顾小林 2012-12-12
  • 打赏
  • 举报
回复
引用 6 楼 Dylan465 的回复:
引用 4 楼 shen332401890 的回复:引用 3 楼 Dylan465 的回复:同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中 调用 ondraw 又有 问题 1 刷新问题 2 效果很不理想啊 如果不是在onThouch事件刷新可以创建Handler,用线程控制旋转角度,然后发送消息让UI……
好的我尝试一下
天蓝dylan 2012-12-11
  • 打赏
  • 举报
回复
同意楼上,不过旋转起来不好实现点击事件,特别是矩形的,不妨试试Matrix的mapPoints,我也在研究之中
顾小林 2012-12-11
  • 打赏
  • 举报
回复
引用 1 楼 sada09 的回复:
简单说就是:继承View类,并在OnDraw()方法中实现旋转。
你的意思 是 在 set 方法中 调用 OnDraw?
加载更多回复(1)
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与ADTplug-in 2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView的交互 3.14 控制不同的文字字体——Typeface对象使用 3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮覆盖——动态产生按钮并最大化 3.20 今晚到哪儿打牙祭?——具选择功能的对话框 3.21 Android变脸——主题(Theme)实现 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox的isChecked属性 4.5 消费券采购列表——多选项CheckBox的应用 4.6 向左或向右——RadioGroup组与onCheckedChanged事件 4.7 专业相框设计——ImageView的堆栈应用 4.8 自定义下拉菜单模式——Spinner与setDropDownViewResource 4.9 动态添加/删除的Spinner菜单——ArrayList与Widget的依赖性 4.10 心爱小宝贝相片集——Gallery与衍生BaseAdapter容器 4.11 快速的搜索手机文件引擎——JavaI/O的应用 4.12 按钮也能随点击变换——ImageButton选择特效 4.13 具自动提示功能的菜单——AutoCompleteTextView与数组 4.14 数字及模拟小时钟设计——AnalogClock与DigitalClock的原理 4.15 动态输入日期与时间——DatePicker与TimePicker应用 4.16 猜猜红心A在那儿——ImageView点击事件与透明度处理 4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用decodeFile方法 4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧