2013-06-27 242 views
0

我一直在尝试使用remoteView.setFloat(R.id.remote_background, "setAlpha", (float) 0.7);来设置背景透明度/ alpha,但我得到“Error loading widget”。我读过,您可以通过在颜色前添加十六进制值来设置透明度。但是因为我从ColorPicker获取颜色并且它是一个整数值(例如:-13890612),所以我不知道如何使用它。RemoteView背景透明度

回答

0

您应该使用十六进制表示法来查看格式为RRGGBB的颜色,因此您应该将-13890612视为2C0BCC,这样做更有意义,因为您可以轻松地说出颜色每个组件的值。并添加alpha通道(这是从0 - (全透明)到0xff(完全不透明)的值),只需OR正确的值与您的颜色和使用。即使其半透明或0x80的:

int rgb = 0x2C0BCC; 
int argb = 0x80000000 | rgb; 
0

使用setInt(R.id.remote_background, "setBackgroundColor", colorInt);代替。