开启系统FreeForm模式。
adb shell settings put global enable_freeform_support 1
adb shell settings put global force_resizable_activities 1

/frameworks/native/data/etc/android.software.freeform_window_management.xml
push到目录system/etc/permissions/

代码如下:

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Intent intent = new Intent(this, FreeFormActivity.class);        intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT | Intent.FLAG_ACTIVITY_NEW_TASK);        //ActivityOptions activityOptions = ActivityOptions.makeBasic();        //activityOptions.setLaunchWindowingMode(5);        ActivityOptions activityOptions = getActivityOptions(this);        int left = 200;        int top = 100;        int right = 600;        int bottom = 200;        activityOptions.setLaunchBounds(new Rect(left,top,right,bottom));        Bundle bundle = activityOptions.toBundle();        startActivity(intent,bundle);    }    public static ActivityOptions getActivityOptions(Context context) {        ActivityOptions options = ActivityOptions.makeBasic();        int freeform_stackId = 5;        try {            Method method = ActivityOptions.class.getMethod("setLaunchWindowingMode", int.class);            method.invoke(options, freeform_stackId);            Log.i("FreeForm","sunxiaolin,getActivityOptions freeform_stackId = " + freeform_stackId);        } catch (Exception e) {            /* Gracefully fail */            Log.i("FreeForm","sunxiaolin,getActivityOptions e = " + e);        }        return options;    }}

FreeFormActivity是一个只显示文本“Hello FreeForm!”的Activity.

效果图:
Android P FreeForm自由窗口模式简单实现_第1张图片

更多相关文章

  1. 设计模式--静态工厂设计模式在android中的使用
  2. Android沉浸式状态栏以及浅色模式开发
  3. Android架构模式二:MVP
  4. Android的启动模式(android:launchMode)

随机推荐

  1. mysql执行update语句时报错:Data truncati
  2. 在Python中使用AWS Lambda使用MySQL时出
  3. Laravel 4中的多选过滤搜索
  4. php使用mysql数据库时中文不显示或显示异
  5. 简单的插入语句不能在PHP代码中工作。适
  6. 有办法在CodeIgniter中指定“使用索引”
  7. 如何将CSV文件中的值实际分割为MySQL数据
  8. win下远程连接linux下mysql
  9. DRBD+Heartbeat+Mysql高可用读写分离架构
  10. 在sqlzoo上自学加入#10教程