Android:如何在初始屏幕上对齐 2 个图像
Posted
技术标签:
【中文标题】Android:如何在初始屏幕上对齐 2 个图像【英文标题】:Android: how to align 2 images on a splash screen 【发布时间】:2018-02-25 00:27:12 【问题描述】:我想使用包含 2 张图片的 splah 屏幕:
主图像必须完全居中 次要图像必须位于底部和主图像之间的中心预期的渲染是这样的:
但我不知道如何得到这个,我的第二张图片是底部对齐的:
我的初始 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="@color/ComplementColor" />
<padding
android:left="0dip"
android:top="0dip"
android:right="0dip"
android:bottom="0dip" />
</shape>
</item>
<item>
<bitmap android:src="@drawable/main_logo"
android:gravity="center" />
</item>
<item>
<bitmap android:src="@drawable/secondary_logo"
android:gravity="bottom" />
</item>
</layer-list>
【问题讨论】:
【参考方案1】:我终于选择了接近@Leonardo Cavazzani 建议的另一个解决方案。
我在底部图像中添加了一个边距,如下所示:
<?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="@color/ComplementColor" />
<padding
android:left="0dip"
android:top="0dip"
android:right="0dip"
android:bottom="0dip" />
</shape>
</item>
<item>
<bitmap android:src="@drawable/main_logo"
android:gravity="center" />
</item>
<item
android:bottom="40dp">
<bitmap android:src="@drawable/secondary_logo"
android:gravity="bottom" />
</item>
</layer-list>
【讨论】:
但它不是一个好的解决方案,因为它会给不同的设备分辨率带来问题。【参考方案2】:为您的位图设置 marginBottom
<bitmap android:src="@drawable/secondary_logo"
android:gravity="bottom"
android:layout_marginBottom="100dp" />
【讨论】:
感谢您的回复,但这不起作用。在 XML 编辑器中,我收到警告“未声明属性”,当我启动应用程序时,它没有任何改变。【参考方案3】:您可以通过 LayoutXML 而不是 Drawable.XML 来实现它
一个简单的 LayoutManager,其中第一个图像居中,第二个对齐到第一个加上 topMargin 的底部可以解决您的问题。
【讨论】:
我不明白你在说什么...我需要用LinearLayout
替换layer-list
吗?或者你有样品吗?
是的,我就是这个意思以上是关于Android:如何在初始屏幕上对齐 2 个图像的主要内容,如果未能解决你的问题,请参考以下文章
Android如何在一个界面里布局4个按钮 分为2行2列 与屏幕上下、水平居中对齐
如何在android中根据上面的imageview对齐textview