android分屏调用的方法,android7/8新特性 画中画、shortcut和分屏模式
import android.annotation.TargetApi;importandroid.app.PictureInPictureParams;importandroid.content.res.Configuration;importandroid.os.Build;importandroid.support.annotation.Nullable;importandroid.supp
import android.annotation.TargetApi;importandroid.app.PictureInPictureParams;importandroid.content.res.Configuration;importandroid.os.Build;importandroid.support.annotation.Nullable;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.util.Log;importandroid.util.Rational;importandroid.view.Gravity;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.FrameLayout;importandroid.widget.TextView;//画中画 test
public class TestPIPActivity extendsAppCompatActivity {private static final String TAG = "TestPIPActivity";privatePictureInPictureParams.Builder mPictureInPictureParamsBuilder;
@TargetApi(Build.VERSION_CODES.O)
@Overrideprotected voidonCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);
FrameLayout content= new FrameLayout(this);
setContentView(content,newViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));if(Build.VERSION.SDK_INT ==Build.VERSION_CODES.O){
mPictureInPictureParamsBuilder= newPictureInPictureParams.Builder();final TextView textView = new TextView(this);
textView.setText("test PIP");
textView.setTextSize(20);
FrameLayout.LayoutParams fl= newFrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
fl.gravity=Gravity.CENTER ;
textView.setOnClickListener(newView.OnClickListener() {
@Overridepublic 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= newFrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
Tvfl.gravity=Gravity.CENTER ;
content.addView(descTv,Tvfl);
}
}
@Overridepublic void onPictureInPictureModeChanged(booleanisInPictureInPictureMode, Configuration newConfig) {super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
Log.d(TAG,String.valueOf(isInPictureInPictureMode));
}
}
更多推荐
所有评论(0)