在ImageView上设置负边距会移动ImageView但不会移动Image

Ixx*_*Ixx 6 layout android imageview

我需要移动一个ImageView,它是LinearLayout的直接子节点,向左移动一点.

会发生什么:视图被移动(可以看到"边界框"被移动,使用android布局管理器)但是drawable保持在同一个地方.

如果我将边距设置得足够低,那么在右侧切割可绘制的.

在此输入图像描述

为什么是这样?有什么建议?

  • 澄清:我必须将图像向左移动.这意味着包含布局边界的一点点.

Ixx*_*Ixx 4

似乎元素在超出父级边界时总是被剪裁(也使用clipChildren = false)。

解决方案是为除要移动的项目之外的所有内容创建额外的容器布局。然后将容器布局向相反方向移动。

例如,要平移 -10dip:

<Original container ...>
    <Item to be shifted/>
    <New container with margin 10dip>
         <Previous content of Original container ... />
    </New container with margin 10dip>
</Original container>
Run Code Online (Sandbox Code Playgroud)