豹小秘DP开发
简介
豹小秘DP是豹小秘大屏版,支持大屏显示内容。
1.权限问题
豹小秘DP显示内容必须申请全局弹出对话框SYSTEM_ALERT_WINDOW权限。
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
2.大屏存在的问题
因为屏幕适配是从横屏旋转成了竖屏,但系统读取时又无法正确读取到旋转后的屏幕信息,所以这里有一个坐标转换来保证屏幕的长宽比正常,具体参考demo代码中的
private int screenWidth = 0; private float scaleX = 0; public BSImageDisplay(Context outerContext, Display display) { super(outerContext, display); Point pt = new Point(); display.getSize(pt); screenWidth = pt.y * pt.y / pt.x; scaleX = pt.x * 1.0f * pt.x / pt.y / pt.y; } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bs_image_layout); //大屏分辨率因为横竖屏的问题,需要一次转换,所以有了如下的转换代码。没有这一次转换会出现长宽比例不对的问题。 //Because there is a problem, we have to rotate the screen, so we have the code below findViewById(R.id.bg_image_main).getLayoutParams().width = screenWidth; findViewById(R.id.bg_image_main).setScaleX(scaleX); ........ }