我想要一个半透明的'覆盖在布局之上。我想保持下面的布局不变,只需在顶部添加此视图。
目前我正在使用带有背景的imageView设置为包含透明色的可绘制文件:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#80FF0000"/>
<stroke android:width="3dip"
android:color="#80FF0000" />
<corners android:radius="5dip"/>
<padding android:left="2dip" android:top="2dip" android:right="2dip" android:bottom="2dip" />
</shape>
和布局:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView10"
android:background="@drawable/building_block_trans_red"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
然而......它在Android Studio中运行良好,并在布局顶部显示半透明叠加层,但是当我将其加载到手机上时没有叠加?
请引导我到我错过的地方?
编辑1: 完整项目的xml文件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/OdasRelativeLayoutNoData"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/building_block"
android:padding="3dp"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="105dp"
android:layout_height="fill_parent"
android:id="@+id/OdasSideBarLayoutNoData"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/building_block_light"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:id="@+id/linearLayout16"
android:layout_alignParentLeft="true">
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="bottom|center_horizontal"
android:layout_gravity="bottom|center_horizontal"
android:id="@+id/textView34"
android:text="@string/odasBuoy"
android:background="@drawable/tidal_header"
android:textSize="25dp"
android:textColor="#ffffff"
android:textStyle="bold"
android:typeface="sans"
tools:ignore="SpUsage" />
<ImageView
android:id="@+id/icon2"
android:layout_width="90dp"
android:layout_height="75dp"
android:layout_gravity="top|center_horizontal"
android:layout_weight="1"
android:scaleType="fitXY"
android:background="@drawable/ic_odas1" />
</LinearLayout>
</RelativeLayout>
<!-- AutoResize Class handles text size so it fills the available space -->
<com.prowapps.seaport.AutoResizeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start|fill"
android:text="@string/OdasInfo"
android:typeface="sans"
android:textColor="#ffffff"
android:layout_marginLeft="5dp"
android:id="@+id/textView35"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/OdasSideBarLayoutNoData"
android:layout_alignParentRight="true"
android:padding="2dp" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/building_block_red" />
</RelativeLayout>
答案 0 :(得分:1)
您也可以简单地使用视图而不是ImageView
和Shapefile。
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80FF0000"/>
此外,由于您的视图覆盖整个屏幕,因此您不需要layout_align
语句。
答案 1 :(得分:0)
通过我的library,您可以创建具有自定义透明级别的叠加层。 gif预览-