如何在屏幕外部分设置Android视图?

时间:2011-08-16 22:46:30

标签: android android-layout imageview

我想使用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>

2 个答案:

答案 0 :(得分:0)

尝试使用attibute android:layoutMargin_Right =“ - 50dip”

编辑抱歉,我能找到的唯一方法就是使用AbsoluteLayout并添加属性android:layout_x =“100dip”和android:layout_y =“50dip”。我知道AbsoluteLayout已被弃用,但我看不到其他布局的任何其他方式。有一个链接here描述了动画翻译所使用的偏移量 - 也许您可以尝试使用它们来查看它们是否可以应用于静态图像。

答案 1 :(得分:0)

我用AbsoluteLayout完成了这个。我知道,不赞成,但我能找到的唯一方法。设置负-x