跳到内容 跳到主导航 跳到页脚

豹小秘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);
   ........
}

示例代码

这篇文章是否有帮助?

0