ImageView具有右对齐,裁剪,未缩放的内容

Joe*_*one 2 android crop alignment imageview

我一直在寻找,摆弄和哭泣几个小时,但无法弄清楚如何将图像放入ImageView并使图像呈现未缩放,右对齐并且溢出超出ImageView的左侧裁剪.

ImageView定义如下:

<ImageView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:src="@drawable/bleh"
></ImageView>
Run Code Online (Sandbox Code Playgroud)

layout_width设置为fill_parent拉伸和缩小ImageView以适应屏幕.

layout_height设置为,wrap_content因为ImageView将始终具有固定的高度,由图像确定.

我没有定义一个,layout_gravity="right"因为我的理解是这与ImageView在其父级中的定位有关,在这种情况下,因为ImageView的宽度设置为fill_parent而无效.

使用上面的布局代码,图像缩放以适合ImageView.我可以阻止缩放的唯一方法是通过设置android:scaleType="center",这可以防止缩放,但不幸的是中心图像.

想法?否则,我正在玩弄以下替代方案:

  • 子类ImageView并实现我自己的onDraw()方法.
  • 将完整图像大小的ImageView放入ScrollView并将滚动固定到最右侧(并禁用任何指示它是滚动视图).

har*_*njd 5

而不是滚动视图 - 将图像放在LinearLayout或RelativeLayout中.制作布局的layout_width fill_parent和layout_height包装内容.然后在ImageView上使用布局gravity right和wrap_content两者的宽度和高度.

<LinerLayout android:layout_width="wrap_content" 
  android:layout_height="wrap_content">
<ImageView android:layout_gravity="right"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:src="@drawable/bleh"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)