今天看QC,有人说用代码改变状态栏的颜色,运行期出错:
Range check error
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQDOxEzX3xCZlhXam9VbsUmepNXZy9CXwJWZ3xCdh1mcvZ2Lc1zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzczM4cjZ5gjM1QGN1EzNyYzXzEDNxADM0AzLcVDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
使用的代码:
TAndroidHelper.Activity.getWindow.setStatusBarColor(TAlphaColorRec.Red);
这马上得到了官方回复,要改成这样:
TAndroidHelper.Activity.getWindow.setStatusBarColor(TAndroidHelper.AlphaColorToJColor(TAlphaColorRec.Red));
原因是:TAlphaColorRec.Red是Cardinal,而setStatusBarColor方法参数是int,对应Delphi应是Integer,所以,要用
TAndroidHelper.AlphaColorToJColor(TAlphaColorRec.Red)
转换一下!