我需要在我的应用中拥有一个图像视图,其边框类似于以下内容:
我只有边框图像和图像视图,并且不知何故需要将图像视图放在边框内(边框图像是透明的 - 就像从here下载此问题中使用的那个)。
有关如何实现这一目标的任何建议吗?
答案 0 :(得分:1)
您可以做很多解决方案。
使用绘画和着色器扩展ImageView类并覆盖OnDraw(Canvas)并在ImageView的Canvas上绘制图像,并提供绘制矩形的大小,然后绘制框架。
将ImageView的背景设置为Frame,将Ur Image设置为Src,给出一个填充,使Src图像适合透明区域。
答案 1 :(得分:1)
试试这个,将它保存为“frame.9.png”作为9patch,将其删除到drawables文件夹:
例如,帧中的图片应该更大,例如:
布局示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/frame">
<ImageView
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/cat"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
/>
</LinearLayout>
结果:
请记住,9-patch不能缩小它们可以伸展。信息在这里:https://stackoverflow.com/a/14274623/619673
下载的