DrawableUtil.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:LuaViewPlayground 作者:
/**
 * create state list drawable
 *
 * @param context
 * @param idNormal
 * @param idPressed
 * @param idFocused
 * @param idUnable
 * @return
 */
public static StateListDrawable createStateListDrawable(Context context, int idNormal, int idPressed, int idFocused, int idUnable) {
    StateListDrawable bg = new StateListDrawable();
    Drawable normal = idNormal == -1 ? null : context.getResources().getDrawable(idNormal);
    Drawable pressed = idPressed == -1 ? null : context.getResources().getDrawable(idPressed);
    Drawable focused = idFocused == -1 ? null : context.getResources().getDrawable(idFocused);
    Drawable unable = idUnable == -1 ? null : context.getResources().getDrawable(idUnable);
    // View.PRESSED_ENABLED_STATE_SET
    bg.addState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled}, pressed);
    // View.ENABLED_FOCUSED_STATE_SET
    bg.addState(new int[]{android.R.attr.state_enabled, android.R.attr.state_focused}, focused);
    // View.ENABLED_STATE_SET
    bg.addState(new int[]{android.R.attr.state_enabled}, normal);
    // View.FOCUSED_STATE_SET
    bg.addState(new int[]{android.R.attr.state_focused}, focused);
    // View.WINDOW_FOCUSED_STATE_SET
    bg.addState(new int[]{android.R.attr.state_window_focused}, unable);
    // View.EMPTY_STATE_SET
    bg.addState(new int[]{}, normal);
    return bg;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号