欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)簡(jiǎn)單畫(huà)中畫(huà)功能

 更新時(shí)間:2021年08月27日 10:33:33   作者:ckwccc  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單畫(huà)中畫(huà)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Android 8.0推出了PictureInPicture(畫(huà)中畫(huà)功能),目前只有在8.0以上的系統(tǒng)上支持。對(duì)比IOS,IOS的Picture in Picture 模式是蘋(píng)果公司在 iOS 9 中加入的一項(xiàng)多任務(wù)功能。下面先看一下效果:

相信不少人在平時(shí)使用ios手機(jī)的app時(shí),已經(jīng)體驗(yàn)過(guò)了,很高興谷歌也推出了這項(xiàng)功能。

使用畫(huà)中畫(huà)模式注意點(diǎn):

1.要使用畫(huà)中畫(huà)模式的Activity需要在清單文件中添加屬性:

android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:supportsPictureInPicture="true"

2.需要使用PictureInPictureParams類(lèi):

PictureInPictureParams.Builder mPictureInPictureParamsBuilder =
            new PictureInPictureParams.Builder();

3.添加待決定的意圖

ArrayList<RemoteAction> actions = new ArrayList<>();

 final PendingIntent intent =
                PendingIntent.getBroadcast(
                        MainActivity.this,
                        requestCode,
                        new Intent(ACTION_MEDIA_CONTROL).putExtra(EXTRA_CONTROL_TYPE, controlType),
                        0);
actions.add(new RemoteAction(icon, title, title, intent));

mPictureInPictureParamsBuilder.setActions(actions);

4.使用廣播接收各種意圖

private BroadcastReceiver mReceiver;

 mReceiver =
                    new BroadcastReceiver() {
                        @Override
                        public void onReceive(Context context, Intent intent) {
                            if (intent == null
                                    || !ACTION_MEDIA_CONTROL.equals(intent.getAction())) {
                                return;
                            }

                            // This is where we are called back from Picture-in-Picture action items.
                            //這就是我們從畫(huà)中畫(huà)模式的操作回調(diào)的地方
                            final int controlType = intent.getIntExtra(EXTRA_CONTROL_TYPE, 0);
                            switch (controlType) {
                                case CONTROL_TYPE_PLAY:
                                    mMovieView.play();
                                    break;
                                case CONTROL_TYPE_PAUSE:
                                    mMovieView.pause();
                                    break;
                            }
                        }
                    };
            registerReceiver(mReceiver, new IntentFilter(ACTION_MEDIA_CONTROL));

5.配合自定義的MediaPlayer使用:

private MovieView mMovieView;

//各種操作
mMovieView.showControls();
mMovieView.pause();
mMovieView.play();
mMovieView.hideControls();
mMovieView.setAdjustViewBounds(false);

通過(guò)廣播接收者接收各種操作意圖,對(duì)應(yīng)其操作

Demo地址:點(diǎn)擊查看

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論