我在android中有一个ImageView
。我想在屏幕内部分移动图像,使得只有部分图像可见。如果我在xml中设置边距或填充,图像会缩小。我在Animation
方法中使用了翻译onCreate
。但是我看到第一次出现视图时图像会移动。我希望图像部分可见,而不会看到移位。有没有办法做到这一点?
答案 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" />
我现在正在张贴这个,因为我只是烧了几个小时试图自己解决这个问题,并认为如果他们像我一样遇到这个问题,它可能会帮助其他人。