【发布时间】:2018-02-27 11:55:23
【问题描述】:
我有一个场景,我想在电视上开发一个应用程序,如果用户在 Youtube 上观看一些视频,如果我想加载我的应用程序,那么它将在前台启动,我将显示一些具有透明背景的信息并且后面的应用程序将继续工作,就像如果后面的应用程序是 Youtube,那么它应该按原样播放而不会暂停。
如果可能,请帮助我?如果是,那我该如何实现呢?
【问题讨论】:
标签: android android-tv
我有一个场景,我想在电视上开发一个应用程序,如果用户在 Youtube 上观看一些视频,如果我想加载我的应用程序,那么它将在前台启动,我将显示一些具有透明背景的信息并且后面的应用程序将继续工作,就像如果后面的应用程序是 Youtube,那么它应该按原样播放而不会暂停。
如果可能,请帮助我?如果是,那我该如何实现呢?
【问题讨论】:
标签: android android-tv
在 Manifest 中将 Activity 主题定义为透明:
<activity android:name=".YourActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
对于 Transulent Activity 生命周期不同于 Non-transulent Activity :
对于非透明的 Activity-A,如果任何其他 Activity-B 出现在上面 则 Activity-A 将处于 onStop 状态。
Activity-A 如果任何其他 Activity-B 出现在它之上,那么 Activity-A 将处于 onPause 状态但对于 Transulent 而言
然后这样做:
@Override
public void onPause() {
super.onPause();
if (mVideoView.isPlaying()) {
// Argument equals true to notify the system that the activity
// wishes to be visible behind other translucent activities
if (! requestVisibleBehind(true)) {
// App-specific method to stop playback and release resources
// because call to requestVisibleBehind(true) failed
stopPlayback();
}
} else {
// Argument equals false because the activity is not playing
requestVisibleBehind(false);
}
}
我确实实现了它,它确实会帮助你 :
https://developer.android.com/training/tv/playback/options.html
如果您的要求与画中画有关,请尝试以下操作:
https://developer.android.com/guide/topics/ui/picture-in-picture.html
【讨论】: