开发了一段时间4.0的app,突然老板说要兼容2.3。。。
好吧,将版本转为2.3.3,发现原来直接的setAlpha()的函数没了,百度了一下就只有getBackground().setAlpha()......怒摔,这能一样吗,而且要是这个控件没有设置background还会愤怒地报空指针错误。。而且在布局文件上面也没了‘android:alpha=“” ’的方法了。。一时半会想不到什么特别好的取代方法,于是就决定用动画效果来代替——alphaanimation。下面贴代码,还是非常简单的。
Animation a=new AlphaAnimation(250, 0);//透明度从250渐变至0 a.setFillAfter(true); //将控件设置为动画的最后状态,也就是变为透明 mDrawer.startAnimation(a);
这样一来就可以实现将控件变为透明了,当然了如果完全不想要效果的话,可以调用该语句
a.setDuration(100);//根据需求设置动画的时长
虽然感觉实用性不是很大,不过感觉还算是不错的一个解决android 2.3版本下无法直接设置控件透明的问题的方法~