从列表视图位置更改图像 alpha 并保存

Posted

技术标签:

【中文标题】从列表视图位置更改图像 alpha 并保存【英文标题】:Change image alpha from listview position and save 【发布时间】:2020-09-19 04:49:03 【问题描述】:

我正在制作音乐列表视图。我有一个基本适配器,音乐类音乐类有 3 个属性;名称:字符串 点:字符串 图片:诠释 如何更改所选项目的图像 alpha?

        listMusics.setOnItemClickListener  parent, view, position, id ->
        val preference = getSharedPreferences("PREFS",0)
        val editor = preference.edit()
        best1 = preference.getInt("best1", 0)
        if(best1>=position*100) 
            music = position
            view.imgMusic.alpha=1F
            editor.putInt("music", music)
            editor.apply()
        

    

我正在使用view.imgMusic.alpha=1F 更改图像 alpha,它将 alpha 更改为图像,但我无法保存项目 alpha。我想将 alpha 更改为 1F 选择哪个项目并保存还将其他项目更改为 0.5F 我该怎么做?

【问题讨论】:

【参考方案1】:

我认为如果您使用 ImageView 显示图像,则可以使用此属性:

<ImageView
    android:layout_
    android:layout_
    android:id="@+id/imageView"
    android:alpha="0.4" // <-----------------  this
    android:background="@drawable/imagename"
/> 

希望对你有帮助

【讨论】:

我想更改选择的项目。你的方法改变了每个项目【参考方案2】:

在适配器 onBindViewHolder 中,您可以使用此代码

 holder.container.setOnClickListener(v -> 

        lastSelectedSong = position;

        //reset the color of all items and change color of new selected item
        notifyDataSetChanged();
    );

    //change icon and color of last Selected Song
    if (position == lastSelectedSong) 
        holder.container.setBackgroundColor(your_color);

            else  //default color and icon of items
        holder.imageView.setBackgroundColor(Color.TRANSPARENT);
    

【讨论】:

以上是关于从列表视图位置更改图像 alpha 并保存的主要内容,如果未能解决你的问题,请参考以下文章

如何从其适配器中更改回收视图的项目位置?

使用 UIScrollView 更改图像的 alpha

获取列表视图中的图像视图位置

如何从另一个视图控制器更改标签的文本并使用核心数据保存

过滤器搜索后列表视图中的复选框更改位置

Jquery Mobile 1.2.0 Alpha 1 弹出和动态列表视图