1
private void initState() {
if (mDpm.isAdminActive(mWho)) {
ImageTextViewUtils.setTextViewImage(this, btnAdmin,
R.drawable.admin_activated, ImageTextViewUtils.RIGHT);
} else {
ImageTextViewUtils.setTextViewImage(this, btnAdmin,
R.drawable.admin_inactivated, ImageTextViewUtils.RIGHT);
}
}2
package org.heima.mobilesafe01.utils;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.widget.TextView;
public class ImageTextViewUtils {
public static final int LEFT = 1 << 0;
public static final int RIGHT = 1 << 1;
public static final int BOTTOM = 1 << 2;
public static final int TOP = 1 << 3;
public static void setTextViewImage(Context context, TextView tv,
int imgId, int or) {
Drawable d = context.getResources().getDrawable(imgId);
setTextViewImage(context, tv, d, or);
}
public static void setTextViewImage(Context context, TextView tv,
Drawable d, int or) {
if (d == null) {
throw new IllegalArgumentException("drawable can not be null");
}
d.setBounds(0, 0, d.getMinimumWidth(), d.getMinimumHeight());
switch (or) {
case LEFT:
tv.setCompoundDrawables(d, null, null, null);
break;
case RIGHT:
tv.setCompoundDrawables(null, null, d, null);
break;
case BOTTOM:
tv.setCompoundDrawables(null, null, null, d);
break;
case TOP:
tv.setCompoundDrawables(null, d, null, null);
break;
default:
break;
}
}
}
本文介绍了一种在Android应用中根据设备管理器的状态切换按钮图标的方法。通过使用自定义工具类ImageTextViewUtils,可以根据设备是否激活来改变按钮的显示图标。
3027

被折叠的 条评论
为什么被折叠?



