如何缩放和居中一个drawable inside layer-list android?

Kai*_*Kai 2 xml android splash-screen android-layout layer-list

我试图将可绘制的图像居中,并在两侧使用一些填充物作为闪屏徽标.问题是它要么在整个屏幕上拉伸,要么在我使用时忽略任何填充gravity.

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

我已尝试使用位图,android:gravity="fill_horizontal"以及对SO的各种其他建议,结果相同.

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

Kai*_*Kai 6

对于任何可能遇到此问题的人,我最终通过更改为hdpi,mdpi,xhpi,xxhpi和xxxhdpi文件夹中的方形图像来解决此问题.而不是试图调整一个太大而扭曲它的矩形图像.

<?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>
Run Code Online (Sandbox Code Playgroud)

  • 您最好不要为项目设置重力,而是为位图本身设置重力。否则,它可能会在棒棒糖之前的设备上拉伸 (2认同)
  • 这并不能解决问题,它不能拉伸/缩放。 (2认同)