我知道过类似的问题,但我认为我的情况有所不同。 所以我试图制作一个使用RecyclerView的播放列表,当选择了一首歌曲时,我想让包含歌曲图像的圆形图像更改为刻度线标记,同时可以在背景中看到原始图像褪色。我准备好了我的刻度图。 如何动态添加另一个ImageView到现有的ImageView?
如何动态地将此图片添加到现有的ImageView中?将背景图像放入背景方法对我来说不是一个解决方案,因为音乐图像文件是从Realm动态加载的,因此不能作为背景。
我RecyclerView项目的XML代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:paddingRight="10dp"
android:paddingLeft="30dp"
>
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="start"
android:transitionName="albumArt"
android:id="@+id/album_art"
android:scaleType="centerCrop"
android:src="@color/colorPrimary"/>
<LinearLayout
android:layout_width="fill_parent"
android:gravity="right"
android:paddingLeft="20dp"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/data"
android:layout_width="match_parent"
android:fontFamily="sans-serif"
android:textColor="#ffffff"
android:text="Music Name"
android:textSize="17sp"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/data_album"
android:layout_width="match_parent"
android:fontFamily="sans-serif"
android:textColor="#bfe0e0e0"
android:textSize="14sp"
android:text="Music Artist"
android:layout_height="wrap_content"
/>
</LinearLayout>
我怎样才能做到这一点从动态java代码?这可以用set visibility
以某种方式完成吗?如果是的话,请解释新的方法来做到这一点,以及赞赏。
使用'LayerDrawable'类:*“一个可绘制的管理其他Drawable的数组,这些按照数组顺序绘制,因此具有最大索引的元素将被绘制在最上面。”* – pskink