Erm*_*bel 50 xml android bitmap
在我的XML文件中,我使用位图如下
<bitmap
android:src="@drawable/Icon"
android:gravity="center"/>
Run Code Online (Sandbox Code Playgroud)
这里图标的图像宽度超出了屏幕.
我试过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>
Run Code Online (Sandbox Code Playgroud)
如何减小上述位图的宽度和高度?
Nic*_*olo 40
虽然位图没有宽度和高度参数,但您可以使用重力和项目宽度/高度设置位图大小.
<item
android:width="230dp"
android:height="70dp">
<bitmap
android:gravity="fill_horizontal|fill_vertical"
android:src="@drawable/screen" />
</item>
Run Code Online (Sandbox Code Playgroud)
您可以使用重力设置项目宽度和高度,并在其中缩放位图.
我知道这是一个古老的问题,但也许有人会觉得它很有用.
警告:
正如评论中已经提到的,此方法仅适用于API级别23(Android 6.0)及更高版本.
Max*_*axF 34
只是用
<item
android:width="200dp"
android:height="200dp"
android:drawable="@drawable/splash_background"
android:gravity="center" />
Run Code Online (Sandbox Code Playgroud)
代替
<item
android:left="200dp"
android:right="200dp">
<bitmap
android:src="@drawable/splash_background"
android:gravity="center" />
</item>
Run Code Online (Sandbox Code Playgroud)
Kev*_*per 23
如果你想减少的宽度和高度,使其适合在屏幕上,你不需要设置精确的尺寸,你可以简单地设置left
和right
父项.这实际上会在图像周围添加边距,因此占用的空间更少:
<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>
Run Code Online (Sandbox Code Playgroud)
理想的情况是,你应该上传不同大小的图像,每个屏幕分辨率(例如hdpi
,xxhdpi
),然后你就不需要以编程方式设置大小的.您可以在此处查看完整列表.
小智 22
这个我用来将我的 mipmap 调整到我的启动屏幕上。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
<item android:drawable="@color/colorPrimary"/>
<item
android:width="200dp"
android:height="200dp"
android:gravity="center">
<bitmap
android:gravity="fill"
android:src="@mipmap/ic_launcher"
android:mipMap="true"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
小智 13
尝试这样做,这对我有用:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:width="30dp"
android:height="30dp"
android:gravity="center"
>
<bitmap
android:src="@drawable/screen"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
从Android Developers我看到 Bitmap XML 没有允许您更改其大小的标记。您需要通过一些图形应用程序(如 GIMP)来执行此操作。正如@Kevin Cooper 已经说过的,理想情况下,您需要为不同的屏幕类型创建不同的资源集(具有不同的大小)。
但是您仍然可以使用 中的 width 和 height 属性调整它的大小ImageView
,而不是创建不同大小的位图:
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="center"
android:src="@drawable/Icon" />
Run Code Online (Sandbox Code Playgroud)
如果你想在其他地方重复使用这个图像,你可以创建单独的样式并重复使用它:
// in styles.xml
<style name="Icon24x24">
<item name="android:src">@drawable/Icon</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
</style>
// in layout.xml
<ImageView style="@style/Icon24x24"/>
Run Code Online (Sandbox Code Playgroud)
另一种重用方法是为一个布局创建单独的布局文件ImageView
,然后将其包含到其他布局中。
如果您想bitmap
在图层列表中使用它,请参阅@Kevin Cooper 的回答,因为他建议可以将填充添加到layer list item
:
<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>
Run Code Online (Sandbox Code Playgroud)
正如@Nicolo 还指出的那样,形成 API 23,可以设置android:width
和android:height"
设置项目。
小智 7
所以我通过输入以下内容解决了这个问题:
<item
android:height= "250dp"
android:width= "250dp"
android:gravity="center">
<bitmap
android:gravity="fill_horizontal|fill_vertical"
android:src="@mipmap/ic_launcher"/>
</item>
Run Code Online (Sandbox Code Playgroud)
完整的解决方案只需复制粘贴并更改图像路径
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:gravity="center"
android:width="286dp"
android:height="176dp">
<bitmap
android:src="@drawable/logo"
android:gravity="fill_horizontal|fill_vertical" />
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
68041 次 |
最近记录: |