前言

  本章内容是android.widget.MediaController,版本为Android 2.3 r1,翻译来自"唐明",再次感谢"唐明" !期待你一起参与Android 中文API的翻译,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    农民伯伯:http://over140.blog.51cto.com/

    Android中文翻译组:http://goo.gl/6vJQl

正文

  一、结构

public class MediaController extends FrameLayout

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.FrameLayout

android.widget.MediaController

  二、类概述

    

  一个包含媒体播放器(MediaPlayer)控件的视图。包含了一些典型的按钮,像"播放(Play)/暂停(Pause)", "倒带(Rewind)", "快进(Fast Forward)"与进度滑动器(progress slider)。它管理媒体播放器(MediaController)的状态以保持控件的同步。

  通过编程来实例化使用这个类。这个媒体控制器将创建一个具有默认设置的控件,并把它们放到一个窗口里漂浮在你的应用程序上。具体来说,这些控件会漂浮在通过setAnchorView()指定的视图上。如果这个窗口空闲3秒那么它将消失,直到用户触摸这个视图的时候重现。

  当媒体控制器是在一个XML布局资源文件中创建的时候,像show() hide()这些函数是无效的。媒体播放器将根据这些规则去显示和隐藏:

     * 在调用setPrevNextListeners()函数之前,"previous" "next"按钮都是隐藏的。

     * 如果setPrevNextListeners() 函数被调用但传入的监听器参数是null ,那么"previous" "next" 按钮是可见的但是处于禁用状态。

     * "rewind" "fastforward" 按钮是显示的,如果不需要可以使用构造函数 MediaController(Context, boolean) boolean 设置为 false

  三、公共方法

  public boolean dispatchKeyEvent (KeyEvent event)

  在焦点路径上分发按钮事件到下一个视图。该路径从视图树的顶端遍历到当前获得焦点的视图。如果当前视图已获得焦点,就分发给自身。否则,就分发到下一个节点的焦点路径上。这个方法也可以激发任何一个按键消息监听器。

  参数

  event 被分发的事件

  返回值

  如果这个事件被处理了返回true,否则返回false

  public void hide ()

  从屏幕中移除控制器。

  public boolean isShowing ()

  (译者注:判断媒体控制器是否处于可见状态。

  public void onFinishInflate ()

  XML文件加载视图完成时调用。这个函数在加载的最后阶段被调用,所有的子视图已经被添加。

  即使子类重写了onFinishInflate方法,也应该始终确保调用父类方法,以便我们调用。

  public boolean onTouchEvent (MotionEvent event)

  实现这个方法来处理触摸屏幕引发的事件。

  参数

  event 动作事件

  返回值

  如果这个事件被处理了返回true,否则返回false

  public boolean onTrackballEvent (MotionEvent ev)

  实现这个方法处理轨迹球的动作事件,轨迹球相对运动的最后一个事件能用MotionEvent.getX() MotionEvent.getY()函数获取。这些都是标准化的,用1表示用户按下一个DPAD按键。(因此他们将经常使用小数值表示,为轨迹球提供更多的的细微运动信息) (译者注:DPAD按键事件: KeyEvent.KEYCODE_DPAD_CENTER(居中)、KeyEvent.KEYCODE_DPAD_DOWN(向下)、KeyEvent.KEYCODE_DPAD_LEFT(向左)、KeyEvent.KEYCODE_DPAD_RIGHT(向右)、KeyEvent.KEYCODE_DPAD_UP(向上)作比较。分别表示居中、下移、左移、右移、上移的操作。 相关链接:onTrackBallEvent方法简介

  参数

ev 动作事件

  返回值

  如果这个事件被处理了返回true,否则返回false

  public void setAnchorView (View view)

  设置这个控制器绑定(anchor/)到一个视图上。例如可以是一个VideoView对象,或者是你的activity的主视图。

  参数

  view 将视图来绑定控制器时可见

  public void setEnabled (boolean enabled)

  设置视图对象的有效状态。这也可以改变子类的有效状态。

  参数

  enabled 如果要让这个视图对象可用就设置为true,否则设置为false

  public void setMediaPlayer (MediaController.MediaPlayerControl player)

  (译者注:把这个媒体控制器设置到VideoView对象上。

  public void setPrevNextListeners (View.OnClickListener next, View.OnClickListener prev)

  (译者注:设置"previous" "next"按钮的监听器函数。)

  public void show (int timeout)

  在屏幕上显示这个控制器。它将在闲置超时 (timeout)’毫秒到达后自动消失。

  参数

  timeout 这个参数以毫秒为单位。如果设置为0将一直显示到调用hide()函数为止。

  public void show ()

     在屏幕上显示这个控制器。它将在 3 秒以后自动消失。

  四、补充

  文章精选

  [推荐][Android学习指南]Android多媒体(Media)

      调用android api播放视频

       Customize android VideoView (ii)


结束

  大家抱歉!年底非常忙,有所耽误进度,进来保持最低进度,争取年前(春节)也就是下周末前完成100篇的目标,感谢大家的支持,欢迎加入我们一起来坚持这项浩大的工程。

更多相关文章

  1. Introduction to Model View Presenter on Andriod
  2. android button按键得到焦点和点击后改变背景图片
  3. ANDROID L——Material Design综合应用(Demo)
  4. android 按键
  5. Androd学习笔记——Android中Touch事件的处理逻辑
  6. Android(安卓)2.3 r1 中文API (78)―― ViewAnimator
  7. android中文api(79)――Gallery
  8. 【转载】Android事件分发机制完全解析,带你从源码的角度彻底理解(
  9. Android(安卓)菜单(Menu)控件的使用

随机推荐

  1. “APP_NAME" IS NOT TRANSLATED IN ZH, Z
  2. android,java知识点总结(一)
  3. 移植Android3.0 SDK到freescale imx51_bb
  4. android RelativeLayout 适用场景和属性
  5. xml ----editview
  6. Android-屏幕元素层次结构
  7. Android 监听ContentProvider中数据的变
  8. Android Framework中的PolicyManager简介
  9. android poweroff 流程
  10. php +MySQL +KSWEB Android 应用