安卓自定义MediaController的UI界面
来源:互联网 发布:js移除元素属性 编辑:程序博客网 时间:2024/06/06 07:29
做播放器通常会用到MediaController这个控制器,但系统MediaController的UI通常又要修改,于是我想到3个思路:1.自己写一个,卧槽return false不解释。2.继承MediaController,尝试过发现私有Field和Method不好弄false。3.copy代码,是他是他就是他~
1.创建MyMediaController:
好了,就是从MediaConrtoller里copy代码
public class MyMediaController extends FrameLayout{
//内容...内容...
}
2.处理报错:
这时候会发现三个报错:
1.mAccessibilityManager= AccessibilityManager.getInstance(context);
getInstance方法虽然是public的,但是@hide不能使用,所以报错。
AccessibilityManager类是无障碍服务的,暂时不需要,砍掉吧。。。如果要用,可以用反射机制调用。
2.mWindow =newPhoneWindow(mContext);
找不到这个类,ok,利用反射创建:
(注意,MediaController导包com.android.internal.policy.PhoneWindow位置貌似有点问题,应该是com.android.internal.policy.impl.PhoneWindow)
代码:
try {Class clazz = Class.forName("com.android.internal.policy.impl.PhoneWindow");Constructor constructor = clazz.getDeclaredConstructor(Context.class);mWindow = (Window) constructor.newInstance(mContext);} catch (Exception e) {e.printStackTrace();}
另外,网上找到另外个实现方法mWindow = PolicyManager.makeNewWindow(mContext);也能用反射得出,包是com.android.internal.policy.PolicyManager。
3.mPlayDescription和mPauseDescription
这两货貌似是朗读描述的,删了。。。
3.修改UI:
mRoot = inflate.inflate(R.layout.mymedia_controller, null);
- 安卓自定义MediaController的UI界面
- 关于MediaController的自定义
- 安卓开发UI界面
- 安卓开发UI界面
- 安卓学习笔记---好看的UI界面
- UI----自定义android界面的标题
- ExoPlayer的使用之自定义UI界面
- 安卓原生VideoView与MediaController之间建立关联
- 定制VideoView,自定义MediaController
- android mediaplayer 自定义 mediacontroller
- Android 自定义MediaController
- 安卓UI 自定义View SwitchButton
- 安卓UI 自定义View ProgressBar
- 安卓使用WebView 自定义错误界面
- Swagger 自定义UI界面
- 基于Java语言的安卓编程学习之八UI界面的编程实现
- 安卓在子线程中如何修改ui界面
- 安卓界面-缓冲界面的用法
- 解决 Qt5 使用 OpenGL 函数未定义的错误
- HDU 1022 Train Problem I
- 11.1使用关联容器
- EL表达式简介
- POJ 3026(BFS+最小生成树)
- 安卓自定义MediaController的UI界面
- android中的坐标偏移分析与问题解决
- leetcode-Palindrome Number-9
- C#当窗体大小改变时,窗体中的控件大小也随之改变
- HDU 1021 Fibonacci Again
- 数据结构2.带控制信息的链表
- 学习Git(对廖雪峰Git教程的摘抄笔记)
- vim批量替换
- UIDesigner.exe 多控件时退出