我正在构建一个带有暗淡背景的闪屏。我使用RelativeLayout
作为所有小部件的基础。为了创建和暗淡效果我创建了一个dim.xml
,它基本上是一个黑色的形状(以后设置不透明度)。
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#000000" />
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:background="@drawable/background"
android:id="@+id/ActivityLayout">
<ImageView
android:layout_width="240dp"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:layout_marginTop="98dp"
android:layout_marginRight="170dp"
android:src="@drawable/logo"
android:id="@+id/logo" />
</RelativeLayout>
有没有办法在RelativeLayout
和小部件之间放置黑色形状,然后将一些alpha值设置为黑色形状以实现调光效果?
有没有办法在RelativeLayout和小部件之间放置黑色形状,然后将一些alpha值设置为黑色形状以实现调光效果?
您可以通过在RelativeLayout中添加另一个View
并将其宽度和高度设置为“match_parent”来实现此目的,然后将View的背景颜色更改为您想要的颜色。
您的布局可能如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
>
<View android:width="match_parent"
android:height="match_parent"
android:background="@color/the_color_you_want"/>
<here are the widgets...>
</RelativeLayout>
更新:
但它并没有填满整个视口,然后每边大约有10dp的边距,并没有在整个屏幕上延伸。有没有办法填满整个屏幕?
这是因为你为RelativeLayout
的左侧和右侧设置了10dp填充。有两种方法可以使颜色视图填充整个屏幕:
android:clipToPadding="false"
设置为RelativeLayout
,然后将以下属性设置为颜色View:机器人:layout_marginLeft = “ - 10dp” 机器人:layout_marginRight = “ - 10dp”
这很容易做到,但它可能会导致您的小部件出现问题,所以您可以尝试一下。
paddingLeft
中删除paddingRight
和RelativeLayout
属性,因此你的颜色View
将填满屏幕,然后重新排列你的小部件以确保他们的左或右边距是正确的。您可能需要使用此方法做更多工作,但我确信这是一种正确的方法。