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

Android位图图像大小(XML 格式)

弘志勇
2023-03-14

在我的XML文件中,我使用位图如下

<bitmap
    android:src="@drawable/Icon"
    android:gravity="center"/>

在这里,图标的图像宽度超过了屏幕。

我试过android:width="100dp "等等。但是它不起作用。

完整的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape android:shape="rectangle">
            <stroke android:width="3dp" android:color="@color/black" />
            <solid android:color="@color/bg_green" />
        </shape>
   </item>
   <item>
    <bitmap
        android:src="@drawable/Icon"
        android:gravity="center"/>
    </item>
</layer-list>

我如何能减少上面位图的宽度和高度?

共有3个答案

卢俭
2023-03-14

如果您想减小宽度和高度以使其适合屏幕,并且您不需要设置确切的尺寸,您可以简单地在父项目上设置。这将在图像周围添加边距,因此占用的空间更少:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:left="20dp"
        android:right="20dp">

        <bitmap
            android:src="@drawable/Icon"
            android:gravity="center" />

    </item>

</layer-list>

但是,理想情况下,您应该为每个屏幕分辨率(例如hdpixxhdpi)上传不同大小的图像,然后根本不需要以编程方式设置大小。您可以在此处查看完整列表。

南宫凯康
2023-03-14

尽管位图没有宽度和高度参数,但可以使用重力和项目宽度/高度来设置位图大小。

<item
    android:width="230dp"
    android:height="70dp">
    <bitmap
        android:gravity="fill_horizontal|fill_vertical"
        android:src="@drawable/screen" />
</item>

您可以设置项目的宽度和高度,并使用重力缩放其中的位图。

我知道这是一个老问题,但也许有人会发现它很有用。

警告:

正如评论中已经提到的,此方法仅适用于API级别23(Android 6.0)及更高版本。

傅新
2023-03-14

仅限API 23或更高版本

就用

<item
    android:width="200dp"
    android:height="200dp"
    android:drawable="@drawable/splash_background"
    android:gravity="center" />

相反

<item
    android:left="200dp"
    android:right="200dp">

    <bitmap
        android:src="@drawable/splash_background"
        android:gravity="center" />

</item>
 类似资料:
  • 我想在我的Android应用程序中增加位图的大小。 基本上,我想创建一个新的位图,其宽度与原始位图相同,但高度更大。(新)额外像素的背景可以是黑色、白色或透明。 我该怎么做?

  • 我想在Android中创建不同分辨率的背景图像。所以我需要ldpi,mdpi,hdpi,xhdpi和xxhdpi的值(以像素为单位)。重要的是图像不会模糊。 我已经阅读了有关多屏幕支持的文档,但dp中的尺寸而不是像素。

  • 我正在使用一个库从url获取图像并将其作为位图图像保存到缓存中。但是当我检索该图像时,它非常小。如何根据手机屏幕增加位图图像的高度和宽度?这是创建位图的类。

  • 我有一个尺寸为800x800的图像,其大小为170 kb。我想将此图像调整为600x600。调整大小后,我希望缩小图像大小。我该怎么做?

  • 问题内容: 下面的代码调整位图的大小并保持宽高比。我想知道是否有一种更有效的大小调整方法,因为我想到了我正在编写android API中已经可用的代码。 问题答案: 使用方法:)

  • 这起作用了,但有一个48x48的正方形,里面什么也没有,因为没有图像源。我试着用CSS把边框改成0像素,并把它的颜色改成白色,但它不起作用,方块保持不变。 然后我尝试使用break标记,但它们的问题是我不能有一个精确的48x48的空白。 如何在页面中插入固定大小的空白? 我将把空格放在div中,然后使用。innerhtml更改div标记之间的代码,将空格替换为图像。