我想使用ImageView作为背景水印。我希望图像部分在屏幕外(想象它在屏幕的右下角,然后向右推20%,向下推10%),但我无法弄清楚如何安排我的视图像那。我不需要动画或任何东西,我想避免只裁剪图像,因为:1)我们在其他地方使用相同的非裁剪图像,我宁愿不复制它和2)我正在使用几个布局可能有不同的图像定位需要多个裁剪副本。
我尝试了几种不同的布局,我尝试在我的onCreate,onStart,onResume等中设置ImageView的位置,但是我所有视图的宽度和高度都是0比0。令人难以置信令人沮丧的是,如此简单的事情应该需要这么多的工作。
更新:这是我正在使用的xml布局......我已经尝试了很多变种,这就是我现在碰巧遇到的情况,也是行不通的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
>
<ImageView
android:id="@+id/watermark"
android:src="@drawable/dollar_sign_whole"
android:gravity="right|bottom"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="-50dp"
/>
<ListView
android:id="@+id/tableView"
style="@style/WatermarkedTable"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:cacheColorHint="#00000000"
android:divider="#ccc"
android:dividerHeight="1dp"
/>
</RelativeLayout>
答案 0 :(得分:0)
尝试使用attibute android:layoutMargin_Right =“ - 50dip”
编辑抱歉,我能找到的唯一方法就是使用AbsoluteLayout并添加属性android:layout_x =“100dip”和android:layout_y =“50dip”。我知道AbsoluteLayout已被弃用,但我看不到其他布局的任何其他方式。有一个链接here描述了动画翻译所使用的偏移量 - 也许您可以尝试使用它们来查看它们是否可以应用于静态图像。
答案 1 :(得分:0)
我用AbsoluteLayout完成了这个。我知道,不赞成,但我能找到的唯一方法。设置负-x