在聊天气泡中缩放ImageButton

时间:2016-09-07 19:56:18

标签: android

我将聊天气泡设置为$,图片设置为android:background,我想要符合我的图片,以便图片大于我的聊天气泡android:src(在下面的示例中,它是我的高度)然后应该裁剪TOP和BOTTOM,以便整个图像保持在聊天气泡中。

我不想使用以下内容:

  • scaleType = cropInside |这使我的图像居中,在左右宽度上留下了太多的空间。
  • scaleType = fitXY |这样可以在聊天气泡的高度和宽度上均匀填充图像,但问题是它会拉伸图像。

我的XML:

250dp height and/or width

总结一下,我想要像whatsapp一样的图像聊天气泡 - 它的作用是保持图像(如果是肖像)的比例通过裁剪顶部和底部(或隐藏相当)而仅显示整个只需单击它即可展开图像。

请参阅下面的图片说明:

enter image description here

编辑:

低于实际图像(用9补丁完成的黄色背景聊天气泡)。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以计算背景图像左侧部分的宽度(以dp为单位),并将其添加为左侧填充。背景不会受到填充

的影响
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="5dp"
     >
    <ImageButton
        android:id="@+id/ib"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:src="@drawable/img"
        android:background="@drawable/bubble_yellow"
        android:paddingLet="40dp"
        android:paddingStart="40dp"
        android:scaleType="centerCrop"
        />

</LinearLayout>

由于ImageButton的大小以dp给出,因此在dp中设置左边距将使其在所有设备中看起来相同