社区首页 >问答首页 >如何缩放和居中一个可绘制的内层列表android?

如何缩放和居中一个可绘制的内层列表android?
EN

Stack Overflow用户
提问于 2016-10-27 00:30:05
回答 2查看 9.8K关注 0票数 5

我试图将一个可绘制的图像居中,两边都有一些填充,以用作闪屏徽标。问题是,如果我使用gravity,它要么会在整个屏幕上伸展,要么会忽略任何填充。

代码语言:javascript
代码运行次数:0
复制
<?xml version="1.0" encoding="utf-8"?>

代码语言:javascript
代码运行次数:0
复制
<item
    android:drawable="@color/grey_3"/>

<item android:gravity="top|center_horizontal|center_vertical" android:drawable="@drawable/zc_logo_r"
      android:top="100dp"
      android:left="200dp"
      android:right="200dp"
      android:layout_margin="100dp"
    >
</item>

我已经尝试使用位图,android:gravity="fill_horizontal"和其他各种关于SO的建议,结果都是一样的。

如何在xml中缩放和居中图像?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-28 04:34:00

作为参考,如果你遇到同样的问题,我用可绘制文件夹(即hdpi,mdpi,xhpi,xxhpi和xxxhdpi)中的正方形图像解决了这个问题,而不是调整一个太大而失真的矩形图像的大小。

代码语言:javascript
代码运行次数:0
复制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/grey_3"/>
    <item android:gravity="center">
          <bitmap android:src="@drawable/splash_logo"/>
    </item>
</layer-list>
票数 7
EN

Stack Overflow用户

发布于 2016-10-27 01:05:53

将可绘制的图像转换为9补丁可能是最简单的方法。

你遇到的问题是层列表对它的大小没有固有的概念。边界是在将其放入容器内时设置的。xml属性是在编译时设置的,因此很难在xml可绘制文件中获得动态值。

如果可以使用ImageView,那么可以在src属性中设置可绘制对象,并使用填充、页边距和scaleType来控制可绘制对象的位置和缩放比例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40274233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档