在我的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>
我如何能减少上面位图的宽度和高度?
如果您想减小宽度和高度以使其适合屏幕,并且您不需要设置确切的尺寸,您可以简单地在父项目上设置左
和右
。这将在图像周围添加边距,因此占用的空间更少:
<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>
但是,理想情况下,您应该为每个屏幕分辨率(例如hdpi
,xxhdpi
)上传不同大小的图像,然后根本不需要以编程方式设置大小。您可以在此处查看完整列表。
尽管位图没有宽度和高度参数,但可以使用重力和项目宽度/高度来设置位图大小。
<item
android:width="230dp"
android:height="70dp">
<bitmap
android:gravity="fill_horizontal|fill_vertical"
android:src="@drawable/screen" />
</item>
您可以设置项目的宽度和高度,并使用重力缩放其中的位图。
我知道这是一个老问题,但也许有人会发现它很有用。
警告:
正如评论中已经提到的,此方法仅适用于API级别23(Android 6.0)及更高版本。
仅限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标记之间的代码,将空格替换为图像。