【发布时间】:2016-01-14 11:20:54
【问题描述】:
我在 android 中有一个位图,可以与 imageview 或通过画布一起使用。我有一个心形位图,我需要用颜色动态填充它,我必须用颜色填充心脏的内部。只有内心的部分需要被填满,而外面的部分必须被忽略。我已经处理过类似的问题,但是我使用 Canvas 来绘制心脏,现在我需要使用心形结构的位图来为心脏填充颜色。
我之前的问题是here
例如,考虑以下图像:
心脏图像的形状实际上是一个完美的正方形,心脏轮廓的两侧都有白色背景。所以,我的问题是如何在这张图片中找到心脏的内部。在我之前的问题中,有画布,可以得到一个想法并实现,但在这种情况下,我没有太多的想法来解决这个问题。
任何帮助或参考将不胜感激。
更新:
当我开始回答这个问题时,我的心脏有一个白色背景,但现在我有一个半透明图层,心脏有背景色。
代码:
<RelativeLayout
android:layout_width="80dp"
android:layout_height="80dp"
android:id="@+id/first_heart_beat"
android:layout_centerInParent="true"
android:layout_below="@+id/member_name_heart_beat"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="40dp"
android:id="@+id/first_heart_beat_filled_relative"
android:background="@color/heart_filled_color"
android:layout_alignLeft="@+id/first_heart_imageview"
android:layout_alignRight="@+id/first_heart_imageview"
android:layout_alignParentBottom="true">
</RelativeLayout>
<ImageView
android:layout_width="180dp"
android:layout_height="150dp"
android:src="@drawable/heartwhite2"
android:id="@+id/first_heart_imageview"
android:layout_alignParentBottom="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="0 %"
android:padding="2dp"
android:id="@+id/heart_filled_percentage_text"
android:textSize="9sp"
android:gravity="center"/>
</RelativeLayout>
使用此代码,我根据用户填写的数据量动态增加first_heart_beat_filled_relative 的高度。但由于背景也是半透明的,我无法实现我想要的。有什么解决方法吗?
【问题讨论】: