█ 【安卓学习之常见问题】 透明度设置报错Drawable.mutate()’ on a null object reference
█ 相关文章:
-
● 【android学习开源项目之BasePopup】BasePopup(PopupWindow)进行二次封装
● 【android学习开源项目之AndroidAutoSize】AndroidAutoSize和DialogFragment的适配
█ 读前说明:
-
● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
● 本文只简单罗列相关的代码实现过程
● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
█ 我的问题
● 想要设置,爆出如下问题:
Attempt to invoke virtual method ‘android.graphics.drawable.Drawable android.graphics.drawable.Drawable.mutate()’ on a null object reference
● 代码如下:
private ImageView mItemImg;
private TextView mItemTitle;
mItemImg.getBackground().mutate().setAlpha(240);
mItemTitle.getBackground().mutate().setAlpha(10);
█ 解决问题:
● 网上搜索测试,如果是单纯的TextView,可以使用如下方法:
mItemTitle.setTextColor(mItemTitle.getTextColors().withAlpha(20));// 透明
mItemTitle.setTextColor(mItemTitle.getTextColors().withAlpha(255));// 不透明
● 如果是LinearLayout或者ImageView,可以使用如下方法:
// 设置不可选效果
private void setCheckableAlpha(float fromAlpha, float toAlpha) {
AlphaAnimation alpha= new AlphaAnimation(fromAlpha, fromAlpha);
alpha.setDuration(0);
alpha.setFillAfter(true);
mItemViewLL.startAnimation(alpha);
}
setCheckableAlpha(0.3F, 0.3F)// 透明
setCheckableAlpha(1.0F, 1.0F)// 不透明
█ 相关资料:
● 1.2019-08-08 Android 设置view透明度(Alpha)包括子view(测试没效果)
● 2.2018-03-27 android Drawable.mutate()的使用
● 3.2014-07-08 android imageView背景透明度的设置(测试第二种方法可用)
● 4.2019-08-24 猿问:如何在Android中为View设置不透明度(Alpha)(提出setTextColor(getTextColors().withAlpha(alpha))的方案)
转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/104007182