Most visited

Recently visited

Added in API level 1

MediaController

public class MediaController
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.widget.MediaController


包含MediaPlayer控件的视图。 通常包含“播放/暂停”,“倒带”,“快进”和进度滑块等按钮。 它负责将控件与MediaPlayer的状态同步。

使用这个类的方法是以编程方式实例化它。 MediaController将创建一组默认的控件,并将它们放在应用程序上方的一个窗口中。 具体来说,控件将浮动在用setAnchorView()指定的视图之上。 如果空闲三秒钟,该窗口将消失,并在用户触摸锚点视图时重新出现。

当在xml布局中创建MediaController时,show()和hide()等函数不起作用。 MediaController将根据以下规则隐藏和显示按钮:

Summary

Nested classes

interface MediaController.MediaPlayerControl

 

Inherited XML attributes

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

MediaController(Context context, AttributeSet attrs)
MediaController(Context context, boolean useFastForward)
MediaController(Context context)

Public methods

boolean dispatchKeyEvent(KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。

CharSequence getAccessibilityClassName()

返回此对象的类名称以用于辅助功能。

void hide()

从屏幕上移除控制器。

boolean isShowing()
void onFinishInflate()

最终确定从XML扩展视图。

boolean onTouchEvent(MotionEvent event)

实现此方法来处理触摸屏幕动作事件。

boolean onTrackballEvent(MotionEvent ev)

实现这个方法来处理轨迹球运动事件。

void setAnchorView(View view)

设置充当控制视图的锚点的视图。

void setEnabled(boolean enabled)

设置此视图的启用状态。

void setMediaPlayer(MediaController.MediaPlayerControl player)
void setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev)
void show(int timeout)

在屏幕上显示控制器。

void show()

在屏幕上显示控制器。

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

Public constructors

MediaController

Added in API level 1
MediaController (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

MediaController

Added in API level 1
MediaController (Context context, 
                boolean useFastForward)

Parameters
context Context
useFastForward boolean

MediaController

Added in API level 1
MediaController (Context context)

Parameters
context Context

Public methods

dispatchKeyEvent

Added in API level 1
boolean dispatchKeyEvent (KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。 此路径从视图树的顶部向下延伸到当前聚焦的视图。 如果这个观点有重点,它会发送给自己。 否则,它将沿着焦点路径调度下一个节点。 这个方法也会触发任何关键的监听器。

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled, false otherwise.

getAccessibilityClassName

Added in API level 23
CharSequence getAccessibilityClassName ()

返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName

Returns
CharSequence

hide

Added in API level 1
void hide ()

从屏幕上移除控制器。

isShowing

Added in API level 1
boolean isShowing ()

Returns
boolean

onFinishInflate

Added in API level 1
void onFinishInflate ()

最终确定从XML扩展视图。 这被称为通货膨胀的最后一个阶段,毕竟所有的孩子的观点已被添加。

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

onTouchEvent

Added in API level 1
boolean onTouchEvent (MotionEvent event)

实现此方法来处理触摸屏幕动作事件。

如果使用此方法检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
event MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

onTrackballEvent

Added in API level 1
boolean onTrackballEvent (MotionEvent ev)

实现这个方法来处理轨迹球运动事件。 自上次事件以来跟踪球的相对移动可通过MotionEvent.getX()MotionEvent.getY()进行检索。 这些都是标准化的,因此移动1对应于用户按下一个DPAD键(所以它们通常是小数值,表示轨迹球中可用的更细粒度的移动信息)。

Parameters
ev MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

setAnchorView

Added in API level 1
void setAnchorView (View view)

设置充当控制视图的锚点的视图。 这可以是一个VideoView,或者你的Activity的主视图。 当VideoView调用此方法时,它将使用VideoView的父级作为定位点。

Parameters
view View: The view to which to anchor the controller when it is visible.

setEnabled

Added in API level 1
void setEnabled (boolean enabled)

设置此视图的启用状态。 启用状态的解释因子而异。

Parameters
enabled boolean: True if this view is enabled, false otherwise.

setMediaPlayer

Added in API level 1
void setMediaPlayer (MediaController.MediaPlayerControl player)

Parameters
player MediaController.MediaPlayerControl

setPrevNextListeners

Added in API level 1
void setPrevNextListeners (View.OnClickListener next, 
                View.OnClickListener prev)

Parameters
next View.OnClickListener
prev View.OnClickListener

show

Added in API level 1
void show (int timeout)

在屏幕上显示控制器。 它会在“超时”毫秒的不活动状态后自动消失。

Parameters
timeout int: The timeout in milliseconds. Use 0 to show the controller until hide() is called.

show

Added in API level 1
void show ()

在屏幕上显示控制器。 闲置3秒后它会自动消失。

Hooray!