美文网首页Android 进阶技术篇专题
Tinting着色 -- 改变图标颜色

Tinting着色 -- 改变图标颜色

作者: 懒猫1105 | 来源:发表于2018-06-24 23:38 被阅读29次

    Tinting着色 -- 改变图标颜色

    开发中经常遇到叫改变图标颜色的需求,叫美工重新切图麻烦还耗时。

    Android5.0之后,可以通过XML文件中设置tint和tintMode属性实现,5.0之前要用support-v7包下的AppCampatxxxView控件
    然后通过代码实现。

    原理

    通过给图片上一层遮罩颜色,从而改变图片的原始颜色

    Android 5.0之后直接再XML中使用
        <ImageView
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/square_gray" />
    
        <ImageView
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/square_gray"
            android:tint="@android:color/holo_blue_bright" />
    
        <ImageView
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/square_gray"
            android:tint="@android:color/holo_blue_bright"
            android:tintMode="add" />
    
        <ImageView
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/square_gray"
            android:tint="@android:color/holo_blue_bright"
            android:tintMode="multiply" />
    
    Android 5.0之前使用方式

    XML文件中

        <android.support.v7.widget.AppCompatImageView
            android:id="@+id/iv"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/square_gray" />
    

    Activity中

            AppCompatImageView iv = findViewById(R.id.iv);
            ColorStateList lists = getResources().getColorStateList(android.R.color.holo_blue_bright);
            iv.setSupportImageTintMode(PorterDuff.Mode.ADD);
            iv.setSupportImageTintList(lists);
    

    相关文章

      网友评论

        本文标题:Tinting着色 -- 改变图标颜色

        本文链接:https://www.haomeiwen.com/subject/zpqeyftx.html