代码如下:请问ImageView中方法setBackgroundColor()为什么不起作用?
- Java code
switcher.setFactory(new ViewFactory() { /* (non-Javadoc) * @see android.widget.ViewSwitcher.ViewFactory#makeView() */ @Override public View makeView() { ImageView imageView = new ImageView(gridview.this); imageView.setBackgroundColor(0xffffff); //imageView.setBackgroundResource(R.drawable.tianxie); imageView.setScaleType(ImageView.ScaleType.FIT_END); imageView.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); return imageView; } });
------解决方案--------------------
ImageView设置背景颜色
ImageView.setBackgroundColor(android.graphics.Color.parseColor("#ffffff"));
ImageView.setBackgroundColor(Color.RED);
ImageView.setBackgroundColor(Color.rgb(255, 0, 0));
------解决方案--------------------
颜色4个字节从高到低对应 不透明度 红 绿 蓝 四个分量,0xFFFFFF对应不透明度的分量是0,所以后面不管是什么背景都是透明的。0xFFFFFFFF就是白色了,0x80FFFFFF就是半透明的白色。Color.rgb()会自动把不透明读设成255,而解析字符串颜色"#FFFFFF"也能判断出只给出了三个分量会自动把不透明度设成255。而对于整数0xFFFFFF和0x00FFFFFF是一样的,是完全透明的。