Android 以不同的分辨率/密度对齐 ImageViews

标签 android layout android-layout

我从我的客户那里收到了一个 PSD 布局,它包含一些固定的背景图像,在这些图像下面应该有一些按钮、TextView 等。

问题是,例如 Game Over 屏幕有一个背景,那么应该有带有“你赢了”或“你输了”的图像,在背景上方与左上角的特定偏移量。 如果我为 480x800 手机设计界面,并以像素为单位指定偏移量,一切都很好。但如果我将它部署到 320x480 手机中,它当然不适合,因为现在像素偏移不同并且背景被缩放。

使用 dip 单位没有帮助,因为较小的手机在物理上也有较小的屏幕。

这是我想做的事情的草图。所有这些在 240x320 到 540x960 的手机上看起来应该相似。是否有可能以某种方式在单个 XML 布局文件中执行此操作,还是我必须为我想到的每个分辨率手动编码偏移量?

主要问题是,在图片上,“you win”周围的红色框是适合橙色背景的地方,因为这是图形的设计方式。当应用程序在分辨率较小的手机上运行时,我不知道如何在橙色图片上对齐“你赢了”图片。 enter image description here .

最佳答案

根据提供的 PSD 为不同的屏幕尺寸布局创建不同尺寸的图像,并为不同的屏幕尺寸创建不同的布局 xml 文件,在不同的布局文件中您可以提供适合布局的图像引用。

为了更好地接近你应该去here还有this

关于Android 以不同的分辨率/密度对齐 ImageViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377116/

相关文章:

android - ACRA 崩溃报告是否也需要服务许可?

android - 获取 java.lang.ClassCastException : android. widget.FrameLayout$LayoutParams 无法转换为 android.widget.RelativeLayout$LayoutParams

android - RecyclerView 未在 RelativeLayout 和 ScrollView 内部展开

Flutter 自定义布局,根据其子级决定小部件的大小

Android Datepicker 显示日历而不是年份

android - 如何在textview中的文本末尾显示3个点

安卓 :Launching Iperf as separate process

android - ExpandableListView 中的子选择

android - 用于本地化布局的横向文件夹

android - 父级 wraps_content 和子级 fills_parent 是什么意思?