Android中调用隐藏类中的方法
来源:互联网 发布:mac类似powerdesigner 编辑:程序博客网 时间:2024/05/21 10:41
在写Android的时候,有时候一个类是隐藏类导致你无法获取该类的实例,因而无法调用该类中的方法。比如AnimatedRotateDrawable这个类,在该类的类名上标注了 @hide 表明该类是一个隐藏类,对于想通过该类实例调用setFramesDuration来设置对应的旋转速度来说,由于无法获取该类实例因而无法调用setFramesDuration方法。这里采用Java反射的方法来调用setFramesDuration方法,具体代码如下:
Drawable drawable = button.getDrawableTop(); if (!(drawable instanceof Animatable))return; try { Method m1 = drawable.getClass().getDeclaredMethod("setFramesDuration",int.class); m1.invoke(drawable,50); } catch (Exception e) { e.printStackTrace(); }第一句代码是在button里面设置的是animation-rotate.xml背景,在animation-rotate.xml里面设置旋转参数,该drawable实例就是AnimatedRotateDrawable
Method m1 = drawable.getClass().getDeclaredMethod("setFramesDuration",int.class); //获取该类对应的Method方法实例
m1.invoke(drawable,50);//调用该实例对应的方法,并传入速度参数
代码实现很简单,不过一般不一定能想到,我自己在搜索了AnimatedRotateDrawable的源码后才想到利用反射来设置drawableTop的旋转速度。 1 0
- Android中调用隐藏类中的方法
- 调用Android系统隐藏方法
- js中调用android中的方法
- Android adapter中调用activity中的方法
- android中使用隐藏类的方法
- 用反射来调用android中的隐藏类
- 用反射来调用android中的隐藏类
- Android Fragment隐藏显示调用的方法
- android 调用其他activity类中的方法
- JSP中调用java类中的方法
- Cocos2d中如何调用Android层中的方法
- android五中方式调用服务service中的方法
- 使用Android隐藏类和隐藏方法
- 使用Android隐藏类和隐藏方法
- 使用Android隐藏类和隐藏方法
- 使用Android隐藏类和隐藏方法
- 使用Android隐藏类和隐藏方法
- 使用Android隐藏类和隐藏方法
- Ubuntu终端命令安装OpenCV(非Cmake方法)(终端gun编译opencv c/c++程序)
- 微信小程序开发文档位置
- 【基础编程】HDOJ2048神、上帝以及老天爷
- Linux 基础操作
- app推广螺旋管理
- Android中调用隐藏类中的方法
- Hibernate中常用的主键生成策略
- IntelliJ IDEA 中如何查看一个类的所有继承关系(当前类的所有继承关系图)
- hql查询效率
- iOS 多线程编程<七、GCD单例宏>
- IOS开发用户界面UI编程视频教程
- C++11重要特性:lambda+function
- dual camera同时preview
- websocket 链接服务器报 302 错误解决方法