当前位置: 首页 > 知识库问答 >
问题:

了解支持与图像相关的不同屏幕尺寸

令狐宣
2023-03-14

我仍然有问题的图像在我的应用程序的正确视图。所以在我的第一台设备上(5.2英寸

在第二台设备上(5.5英寸

这是我的布局中的ImageView:

  <ImageView
    android:id="@+id/iv_image"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"   
    android:layout_alignParentStart="true" 
    android:layout_below="@id/tv_topic" />

我在Android博客上读到这篇文章后,将所有图像放在了drawable文件夹中:

通常有两种方法来针对所有屏幕DPI。1.最简单的方法-使所有图像特高或特高DPI。

如果设备与可绘制DPI不匹配,Android会自动缩放可绘制DPI。如果只创建高密度的绘图,则较低的DPI屏幕将缩小资源比例以适应布局。

因此,我在drawable文件夹中以尽可能高的分辨率实现了所有图像。是否有必要将它们全部放在特定文件夹(可绘制ldpi、可绘制mdpi…)中?这将意味着我的图像将有多个副本,大小始终相同。

是的,我读了几次支持多屏幕的官方文档。然而,我在理解它时遇到了一些问题。

共有1个答案

董高逸
2023-03-14

我建议您使用layout_weight属性来保持ImageView和问题布局之间的恒定比例。将您的布局更改为这样的内容:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="4">
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <ImageView
            android:id="@+id/iv_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </LinearLayout>
    <LinearLayout
        android:layout_height="match_parent"
        android:layout_width="0dp"
        android:layout_weight="3" />
</LinearLayout>
 类似资料:
  • 问题内容: 我已经仔细阅读了http://developer.android.com/guide/practices/screens_support.html和其他相关网站中的文档,但我仍然对此表示怀疑。让我解释: 我已经为值,values-large和values- xlarge实现了dimens.xml,因此,例如,在平板电脑上运行时,我的Android应用程序很好。但是,我指定了填充,边距,

  • 我试图用swXXXdp布局文件为不同的屏幕大小创建不同的布局。不幸的是,我仍然不能分开5,0“和6,3”作为可见的附上的图像。两种大小仍然使用相同的文件:layout-sw412dp。对此有什么想法吗?

  • 简介 本文将介绍 Weex 适配不同尺寸屏幕的方法以及横竖屏动态切换时如何自适应。 Weex 如何将前端样式值转换为系统坐标值 以 iOS 为例,在应用启动时,Weex 获取当前屏幕宽度作为全局默认值。在 iOS 系统上该宽度为实际像素/屏幕比例后的 UIKit 宽度。比如 iPhone6 为 375。 @implementation WXCoreBridge + (void)install

  • 很抱歉创建了一个潜在的副本,但我没有找到任何答案来回答我的问题。它本质上归结为: 我应该在哪些文件夹中包含哪些图像大小的全屏图像以支持所有Android设备? 答案通常说明不同的像素分辨率,以放入每个密度桶中。 例如: 来源:Android:支持所有设备的背景图像大小(像素) 像这样的列表实际上正是我想要的。唯一的问题是这对我来说没有意义。 按密度对图像进行分组似乎适合于在不同密度上显示相同大小的

  • 我试图理解一款支持不同屏幕大小的游戏(android)中的速度概念。 假设我有一个精灵,从横向模式的右端到左端需要10秒。帧速率并不稳定,所以有时会持续30秒,然后突然变为10秒。但我还是希望我的雪碧从一端到另一端需要10秒钟。我该怎么做? 这就是我所理解的: 通过将屏幕宽度除以从一端到另一端获取精灵的时间,可以获得基本速度。如果有稳定的帧速率,则基本速度是精灵每秒应添加到当前位置的速度。然而,我

  • 问题内容: 我为登录屏幕创建了不同尺寸的背景图像。 我指的是苹果链接https://developer.apple.com/ios/human-interface- guidelines/graphics/launch-screen/ 但我没有启动屏幕,我只是想在登录屏幕中添加背景。 我想知道哪个是1x,2x和3x? 另一个问题是当我创建图像集时,应将哪个尺寸的图像拖到哪个位置。我对此一无所知。还