Android 8.0 畫中畫demo

 

記錄一下簡單的demo ,方便以後用到:


package com.example.myapplication;

import android.annotation.TargetApi;
import android.app.PictureInPictureParams;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.Rational;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;

/**
 * 畫中畫
 */

public class TestPIPActivity extends AppCompatActivity {
    private static final String TAG = "TestPIPActivity";
    private PictureInPictureParams.Builder mPictureInPictureParamsBuilder;

    @TargetApi(Build.VERSION_CODES.O)
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FrameLayout content = new FrameLayout(this);
        setContentView(content,new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

        if(Build.VERSION.SDK_INT == Build.VERSION_CODES.O){
            mPictureInPictureParamsBuilder = new PictureInPictureParams.Builder();

            final TextView textView = new TextView(this);
            textView.setText("test PIP");
            textView.setTextSize(20);
            FrameLayout.LayoutParams fl = new FrameLayout.LayoutParams(
                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            fl.gravity = Gravity.CENTER ;
            textView.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {//主要操作
                    Rational aspectRatio = new Rational(10,10);
                    mPictureInPictureParamsBuilder.setAspectRatio(aspectRatio).build();
                    enterPictureInPictureMode(mPictureInPictureParamsBuilder.build());
                }
            });
            content.addView(textView,fl);

        }else{
            TextView descTv = new TextView(this);
            descTv.setText("當前版本不支持...");
            descTv.setTextSize(20);
            FrameLayout.LayoutParams Tvfl = new FrameLayout.LayoutParams(
                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            Tvfl.gravity = Gravity.CENTER ;
            content.addView(descTv,Tvfl);
        }

    }



    @Override
    public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
        super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
        Log.d(TAG,String.valueOf(isInPictureInPictureMode));
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章