较低系统版本时设置半透明属性不起作用

问题代码:

<FrameLayout
    android:id="@+id/fl_new_message"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:visibility="gone"> 

    <LinearLayout
        android:layout_width="120dp" 
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal"
        android:background="@color/black"
        android:alpha="0.7"/>
        <LinearLayout       
                  android:layout_width="120dp"        
                  android:layout_height="40dp"       
                  android:layout_gravity="center_horizontal"
                  android:orientation="horizontal"        
                  android:background="@color/transparent"> 
                  ...
        </LinearLayout>
</FrameLayout>

红色的这两行代码在低版本系统时,比如我们这里的一个4.1.2版本的三星手机上面是不起作用的。。就是它这个半透明的黑色是不显示的,直接给整成全透明了。。几番查找资料后,算是明白了,这个alpha在低版本的系统里边是不管用的,将上面那两行替换为下边这行即可。

android:background="#b4000000"

另外根据资料总结下:具体的设置这种半透明的颜色值的两种方法如下

方法1.设置颜色背景透明度:

在控件中使用以下属性:android:background="#99454545" (这个方法对系统版本没有限制,新老通吃)

前2位表示透明度:范围是00~~ff(以16进制表示的,00代表全透明,ff代表不透明),后6位表示颜色。


方法2.使用属性android:alpha="0.7"  

此方法即可以让图片透明也可让背景颜色透明

(1).背景图片透明
android:background="@drawable/cate_arrow_click"  
android:alpha="0.7"
(2).背景颜色透明:(这个方法则在较低系统版本时不起作用)
android:background="#454545" 
android:alpha="0.7"


参考资料:https://blog.csdn.net/u011169725/article/details/25825261

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页