问题代码:
<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.youkuaiyun.com/u011169725/article/details/25825261