我在布局xml中有ImageView,如下所示:
<ImageView
android:id="@+id/notePointerImageView"
android:layout_width="700px"
android:layout_height="6px"
android:scaleType="fitXY"
android:src="@drawable/whiteline"
/>
我在onWindowFocusChanged中动态设置宽度,高度和边距:
RelativeLayout.LayoutParams notePointerLayoutLP = new RelativeLayout.LayoutParams(263, 2);
notePointerLayoutLP.setMargins(0, 150, 14, 0);
notePointerImageView.setLayoutParams(notePointerLayoutLP);
notePointerImageView.requestLayout();
由于屏幕宽度仅为240x301,因此imageView的左侧部分关闭屏幕。但看起来像imageView的那部分被删除,图像在屏幕内调整大小(我使用fitXY),并使ImageView大小为226x2。 (226 + 14 == 240,这是屏幕宽度)
由于我以后必须为ImageView设置动画,我无法接受剪裁和调整ImageView的大小。我真的需要一个负的左边距。有人能告诉我怎么办?或者它只是一个模拟器问题?
答案 0 :(得分:1)
要强制大图片适合屏幕内部或某种尺寸,您可以使用FrameLayout
作为:
<FrameLayout
android:id="@+id/fm_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
... ...
>
<ImageView
android:id="@+id/myImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:gravity="center"
android:src="@drawable/my_image"/>
</FrameLayout>
针对特定尺寸的尺码,您只需设置FrameLayout
的布局尺寸。
希望这有帮助!