ImageView的marginRight属性不起作用

8

我有一个ImageView,其背景是一个xml形状drawable,即一个矩形形状的drawable。我的应用程序方向固定为横向视图。

ImageView在RelativeLayout中。

我试图通过设置适当的layout_marginRight值将其移动到屏幕右侧,但这没有效果。ImageView始终保持在其原始位置。

我还尝试了以下其他选项,但都没有帮助:

  1. 创建新的RelativeLayout参数并设置正确的margin
  2. 创建新的margin layout参数并设置位置
  3. 尝试填充选项
  4. 将ImageView相对于另一个ImageView设置为正确位置...
  5. 使用显示度量获取屏幕宽度,并相应地设置边距....

我已经卡在这个ImageView的位置上一个星期了...

我认为最好的方法是将这个ImageView设置在两个ImageView之间,因为我无法通过设置边距来移动它,但这也不起作用...

这是我的main.xml中ImageView的当前xml:

<ImageView
            android:id="@+id/rect1"
            android:background="@drawable/rect"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content" 
                android:layout_alignParentBottom="true"
                android:layout_marginRight="70dp"
            android:scaleType="fitCenter"/>

你尝试过使用android:gravity属性吗? - Vic
请问您能否提供包含图片视图的布局? - ShineDown
这是答案 https://dev59.com/NWrWa4cB1Zd3GeqP7ylV#13132675 :) 它有效,我已经测试过了。 - jagmohan
4个回答

6
我不明白为什么在图像右侧添加一个边距会帮助将图像向右移动,这只是通过边距扩展了图像视图的右侧边界。只要图像视图没有实际位于父视图的右侧,它就可以在不改变位置的情况下增长。如果您想要图像视图位于相对布局的右侧,则建议在图像视图上使用layout_alignParentRight="true",然后您可以使用marginRight控制其距离右侧的距离。

我也尝试了这个选项,但它没有起作用...它只是将ImageView定位到最右边的边缘,但marginRight不起作用... - Ruchira
如果这个方法不起作用,你应该更新你的问题并提供更详细的问题描述;现在大部分都是推测。 - MrJre

1
将RelativeLayout的layout_width属性设置为fill_parent,看它是否能正常工作 :)

1
我的问题是,父布局的宽度设置为wrap_content,在编辑器中没有定义宽度。因此,我无法使用marginRight来获得偏移量。我必须将宽度更改为固定大小,如match_parent或常数dp大小。

-2
把图片视图放在线性布局中,然后使用android:layout_marginRight="70dp"。

@Vic 我尝试了将重力设置为右侧,但仍然无法设置 marginRight 属性的右边距。 - Ruchira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接