在android中将图像部分移出屏幕

时间:2011-08-30 22:57:05

标签: android

我在android中有一个ImageView。我想在屏幕内部分移动图像,使得只有部分图像可见。如果我在xml中设置边距或填充,图像会缩小。我在Animation方法中使用了翻译onCreate。但是我看到第一次出现视图时图像会移动。我希望图像部分可见,而不会看到移位。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:4)

父视图中的

(如LinearView)设置ClipChildrens=false,如果你要找的话

检查此代码,它适用于我......

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_marginRight="-20dp"
        android:src="@drawable/ic_launcher" />

</FrameLayout>

答案 1 :(得分:2)

这个怎么样。

在你的活动中onCreate:

ImageView yourImage = (ImageView)findViewById(R.id.your_image_control_id);
yourImage.setX(1000);
yourImage.setY(1000);

这样,它在启动时正确定位。或者您可以使用AbsoluteLayout并以此方式设置图像的x和y坐标。确保你没有使用fill_parent作为高度或宽度。

答案 2 :(得分:2)

我发现如果你使用负边距,那么你就不能在对面使用alignParent,所以,假设你试图让图像在视图的右侧半截,你不能指定机器人:layout_alignParentLeft。此外,如果您需要完整的图像并且不希望它被剪裁,就像您希望在全屏幕上点击动画一样,您必须设置父布局android:clipChildren =“false”。以下xml def适用于我:

<ImageView
        android:id="@+id/you_feature_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="@dimen/feature_margin_right"
        android:contentDescription="feature_image"
        android:gravity="center_vertical"
        android:padding="@dimen/zero"
        android:paddingBottom="@dimen/zero"
        android:paddingLeft="@dimen/zero"
        android:paddingRight="@dimen/zero"
        android:paddingTop="@dimen/zero"
        android:src="@drawable/feature_phone_02_2x" />

我现在正在张贴这个,因为我只是烧了几个小时试图自己解决这个问题,并认为如果他们像我一样遇到这个问题,它可能会帮助其他人。