全屏幕背景上的android xml可绘制图像
我需要一个在android中的xml drawable(用于cordova初始屏幕)。 我想在屏幕上居中显示一个透明的标志(没有拉伸),而屏幕的其余部分设置了背景颜色。
我首先尝试的是在xml文件中只添加图像:
<?xml version="1.0" encoding="utf-8"?>
<bitmap
android:src="@drawable/splashscreen"
android:gravity="center_horizontal|center_vertical" />
这显示标志居中在屏幕上,但(显然)没有背景色。
所以我尝试了不同的解决方案来为该xml添加背景颜色。 例如:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
</shape>
</item>
<item>
<bitmap
android:src="@drawable/splashscreen"
android:gravity="center_horizontal|center_vertical" />
</item>
</layer-list>
现在图像具有背景色 - 但它不再是全屏。 它调整为图像大小,并在显示为全屏时拉伸。
那么,我怎样才能得到一个全屏可绘制的背景色和一个居中的图像呢?
编辑:所有的答案建议使用RelativeLayout - 但我认为这是不可能的“可绘制的”xml文件中,对不对? 我没有任何我可以编辑的布局 - 只有一个被cordova引用的drawable。
我自己找到了解决方案:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="#FFFF"></color>
</item>
<item>
<bitmap
android:src="@drawable/splashscreen"
android:gravity="center_horizontal|center_vertical"
/>
</item>
</layer-list>
Android工作室显示布局仍然错误 - 但它可以按预期在设备上工作。
对于所有的海报,建议增加一个layout-xml文件:正如我在问题中所述,我没有这种可能性,因为这个drawable包含在Cordova中。 我无法控制这个drawable使用的布局。
<?xml version="1.0" encoding="UTF-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/splash"
android:gravity="fill_horizontal|fill_vertical" />
这样做,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white" >//Set background color
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:src="@drawable/splash_logo" />//set logo
</RelativeLayout>
链接地址: http://www.djcxy.com/p/68561.html