类android.support.annotation.ColorInt源码实例Demo

下面列出了怎么用android.support.annotation.ColorInt的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Focus   文件: StatusBarUtil.java
/**
 * 设置状态栏颜色
 *
 * @param activity       需要设置的activity
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */

public static void setColor(Activity activity, @ColorInt int color, @IntRange(from = 0, to = 255) int statusBarAlpha) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        activity.getWindow().setStatusBarColor(calculateStatusColor(color, statusBarAlpha));
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
        View fakeStatusBarView = decorView.findViewById(FAKE_STATUS_BAR_VIEW_ID);
        if (fakeStatusBarView != null) {
            if (fakeStatusBarView.getVisibility() == View.GONE) {
                fakeStatusBarView.setVisibility(View.VISIBLE);
            }
            fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
        } else {
            decorView.addView(createStatusBarView(activity, color, statusBarAlpha));
        }
        setRootView(activity);
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        activity.getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
    }
}
 
源代码2 项目: Android-utils   文件: BarUtils.java
/**
 * Set the status bar's color for DrawerLayout.
 * <p>DrawLayout must add {@code android:fitsSystemWindows="true"}</p>
 *
 * @param drawer        The DrawLayout.
 * @param fakeStatusBar The fake status bar view.
 * @param color         The status bar's color.
 * @param isTop         True to set DrawerLayout at the top layer, false otherwise.
 */
public static void setStatusBarColor4Drawer(@NonNull final DrawerLayout drawer,
                                            @NonNull final View fakeStatusBar,
                                            @ColorInt final int color,
                                            final boolean isTop) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
    Activity activity = getActivityByView(fakeStatusBar);
    if (activity == null) return;
    transparentStatusBar(activity);
    drawer.setFitsSystemWindows(false);
    setStatusBarColor(fakeStatusBar, color);
    for (int i = 0, count = drawer.getChildCount(); i < count; i++) {
        drawer.getChildAt(i).setFitsSystemWindows(false);
    }
    if (isTop) {
        hideStatusBarView(activity);
    } else {
        setStatusBarColor(activity, color, false);
    }
}
 
源代码3 项目: tysq-android   文件: StatusBarUtils.java
/**
 * 为DrawerLayout 布局设置状态栏变色(5.0以下无半透明效果,不建议使用)
 *
 * @param activity     需要设置的activity
 * @param drawerLayout DrawerLayout
 * @param color        状态栏颜色值
 */
@Deprecated
public static void setColorForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        // 生成一个状态栏大小的矩形
        ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
        View fakeStatusBarView = contentLayout.findViewById(FAKE_STATUS_BAR_VIEW_ID);
        if (fakeStatusBarView != null) {
            if (fakeStatusBarView.getVisibility() == View.GONE) {
                fakeStatusBarView.setVisibility(View.VISIBLE);
            }
            fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, DEFAULT_STATUS_BAR_ALPHA));
        } else {
            // 添加 statusBarView 到布局中
            contentLayout.addView(createStatusBarView(activity, color), 0);
        }
        // 内容布局不是 LinearLayout 时,设置padding top
        if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
            contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0);
        }
        // 设置属性
        setDrawerLayoutProperty(drawerLayout, contentLayout);
    }
}
 
源代码4 项目: Focus   文件: StatusBarUtil.java
/**
 * 为DrawerLayout 布局设置状态栏变色(5.0以下无半透明效果,不建议使用)
 *
 * @param activity     需要设置的activity
 * @param drawerLayout DrawerLayout
 * @param color        状态栏颜色值
 */
@Deprecated
public static void setColorForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        // 生成一个状态栏大小的矩形
        ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
        View fakeStatusBarView = contentLayout.findViewById(FAKE_STATUS_BAR_VIEW_ID);
        if (fakeStatusBarView != null) {
            if (fakeStatusBarView.getVisibility() == View.GONE) {
                fakeStatusBarView.setVisibility(View.VISIBLE);
            }
            fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, DEFAULT_STATUS_BAR_ALPHA));
        } else {
            // 添加 statusBarView 到布局中
            contentLayout.addView(createStatusBarView(activity, color), 0);
        }
        // 内容布局不是 LinearLayout 时,设置padding top
        if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
            contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0);
        }
        // 设置属性
        setDrawerLayoutProperty(drawerLayout, contentLayout);
    }
}
 
源代码5 项目: tysq-android   文件: StatusBarUtils.java
/**
 * 设置状态栏颜色(5.0以下无半透明效果,不建议使用)
 *
 * @param activity 需要设置的 activity
 * @param color    状态栏颜色值
 */
@Deprecated
public static void setColorDiff(Activity activity, @ColorInt int color) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
        return;
    }
    transparentStatusBar(activity);
    ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
    // 移除半透明矩形,以免叠加
    View fakeStatusBarView = contentView.findViewById(FAKE_STATUS_BAR_VIEW_ID);
    if (fakeStatusBarView != null) {
        if (fakeStatusBarView.getVisibility() == View.GONE) {
            fakeStatusBarView.setVisibility(View.VISIBLE);
        }
        fakeStatusBarView.setBackgroundColor(color);
    } else {
        contentView.addView(createStatusBarView(activity, color));
    }
    setRootView(activity);
}
 
源代码6 项目: FimiX8-RE   文件: StatusBarUtil.java
public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color, int statusBarAlpha) {
    if (VERSION.SDK_INT >= 19) {
        if (VERSION.SDK_INT >= 21) {
            activity.getWindow().addFlags(Integer.MIN_VALUE);
            activity.getWindow().clearFlags(NTLMConstants.FLAG_UNIDENTIFIED_9);
            activity.getWindow().setStatusBarColor(0);
        } else {
            activity.getWindow().addFlags(NTLMConstants.FLAG_UNIDENTIFIED_9);
        }
        ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
        if (contentLayout.getChildCount() <= 0 || !(contentLayout.getChildAt(0) instanceof StatusBarView)) {
            contentLayout.addView(createStatusBarView(activity, color), 0);
        } else {
            contentLayout.getChildAt(0).setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
        }
        if (!((contentLayout instanceof LinearLayout) || contentLayout.getChildAt(1) == null)) {
            contentLayout.getChildAt(1).setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(), contentLayout.getPaddingRight(), contentLayout.getPaddingBottom());
        }
        setDrawerLayoutProperty(drawerLayout, contentLayout);
        addTranslucentView(activity, statusBarAlpha);
    }
}
 
源代码7 项目: FimiX8-RE   文件: StatusBarUtil.java
@Deprecated
public static void setColorForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
    if (VERSION.SDK_INT >= 19) {
        activity.getWindow().addFlags(NTLMConstants.FLAG_UNIDENTIFIED_9);
        ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
        if (contentLayout.getChildCount() <= 0 || !(contentLayout.getChildAt(0) instanceof StatusBarView)) {
            contentLayout.addView(createStatusBarView(activity, color), 0);
        } else {
            contentLayout.getChildAt(0).setBackgroundColor(calculateStatusColor(color, 0));
        }
        if (!((contentLayout instanceof LinearLayout) || contentLayout.getChildAt(1) == null)) {
            contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0);
        }
        setDrawerLayoutProperty(drawerLayout, contentLayout);
    }
}
 
源代码8 项目: meshenger-android   文件: RTCCall.java
private void setRemoteVideoEnabled(boolean enabled) {
    new Handler(Looper.getMainLooper()).post(() -> {
        if (enabled) {
            this.remoteRenderer.setBackgroundColor(Color.TRANSPARENT);
        } else {
            TypedValue typedValue = new TypedValue();
            Resources.Theme theme = this.context.getTheme();
            theme.resolveAttribute(R.attr.backgroundCardColor, typedValue, true);
            @ColorInt int color = typedValue.data;
            this.remoteRenderer.setBackgroundColor(color);
        }
    });
}
 
源代码9 项目: StatusBarUtil   文件: StatusBarUtil.java
/**
 * 设置纯色状态栏(自定义颜色,alpha)
 *
 * @param activity 目标activity
 * @param color    状态栏颜色值
 * @param alpha    状态栏透明度
 */
public static void setColor(@NonNull Activity activity, @ColorInt int color, @IntRange(from = 0, to = 255) int alpha) {
    WeakReference<Activity> activityWeakReference = new WeakReference<>(activity);
    Window window = activityWeakReference.get().getWindow();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(cipherColor(color, alpha));
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        setTranslucentView((ViewGroup) window.getDecorView(), color, alpha);
        setRootView(activityWeakReference.get(), true);
    }
}
 
源代码10 项目: Android-utils   文件: BarUtils.java
/**
 * Set the status bar's color.
 *
 * @param fakeStatusBar The fake status bar view.
 * @param color         The status bar's color.
 */
public static void setStatusBarColor(@NonNull final View fakeStatusBar,
                                     @ColorInt final int color) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
    Activity activity = getActivityByView(fakeStatusBar);
    if (activity == null) return;
    transparentStatusBar(activity);
    fakeStatusBar.setVisibility(View.VISIBLE);
    ViewGroup.LayoutParams layoutParams = fakeStatusBar.getLayoutParams();
    layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
    layoutParams.height = getStatusBarHeight();
    fakeStatusBar.setBackgroundColor(color);
}
 
源代码11 项目: Focus   文件: StatusBarUtil.java
/**
 * 为滑动返回界面设置状态栏颜色
 *
 * @param activity       需要设置的activity
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */
public static void setColorForSwipeBack(Activity activity, @ColorInt int color,
                                        @IntRange(from = 0, to = 255) int statusBarAlpha) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

        ViewGroup contentView = ((ViewGroup) activity.findViewById(android.R.id.content));
        View rootView = contentView.getChildAt(0);
        int statusBarHeight = getStatusBarHeight(activity);
        if (rootView != null && rootView instanceof CoordinatorLayout) {
            final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) rootView;
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
                coordinatorLayout.setFitsSystemWindows(false);
                contentView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
                boolean isNeedRequestLayout = contentView.getPaddingTop() < statusBarHeight;
                if (isNeedRequestLayout) {
                    contentView.setPadding(0, statusBarHeight, 0, 0);
                    coordinatorLayout.post(new Runnable() {
                        @Override
                        public void run() {
                            coordinatorLayout.requestLayout();
                        }
                    });
                }
            } else {
                coordinatorLayout.setStatusBarBackgroundColor(calculateStatusColor(color, statusBarAlpha));
            }
        } else {
            contentView.setPadding(0, statusBarHeight, 0, 0);
            contentView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
        }
        setTransparentForWindow(activity);
    }
}
 
源代码12 项目: Focus   文件: StatusBarUtil.java
/**
 * 生成一个和状态栏大小相同的半透明矩形条
 *
 * @param activity 需要设置的activity
 * @param color    状态栏颜色值
 * @param alpha    透明值
 * @return 状态栏矩形条
 */
private static View createStatusBarView(Activity activity, @ColorInt int color, int alpha) {
    // 绘制一个和状态栏一样高的矩形
    View statusBarView = new View(activity);
    LinearLayout.LayoutParams params =
            new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity));
    statusBarView.setLayoutParams(params);
    statusBarView.setBackgroundColor(calculateStatusColor(color, alpha));
    statusBarView.setId(FAKE_STATUS_BAR_VIEW_ID);
    return statusBarView;
}
 
源代码13 项目: Focus   文件: StatusBarUtil.java
/**
 * 计算状态栏颜色
 *
 * @param color color值
 * @param alpha alpha值
 * @return 最终的状态栏颜色
 */
private static int calculateStatusColor(@ColorInt int color, int alpha) {
    if (alpha == 0) {
        return color;
    }
    float a = 1 - alpha / 255f;
    int red = color >> 16 & 0xff;
    int green = color >> 8 & 0xff;
    int blue = color & 0xff;
    red = (int) (red * a + 0.5);
    green = (int) (green * a + 0.5);
    blue = (int) (blue * a + 0.5);
    return 0xff << 24 | red << 16 | green << 8 | blue;
}
 
源代码14 项目: FimiX8-RE   文件: StatusBarUtil.java
@Deprecated
public static void setColorDiff(Activity activity, @ColorInt int color) {
    if (VERSION.SDK_INT >= 19) {
        transparentStatusBar(activity);
        ViewGroup contentView = (ViewGroup) activity.findViewById(16908290);
        if (contentView.getChildCount() > 1) {
            contentView.getChildAt(1).setBackgroundColor(color);
        } else {
            contentView.addView(createStatusBarView(activity, color));
        }
        setRootView(activity);
    }
}
 
源代码15 项目: tysq-android   文件: StatusBarUtils.java
/**
 * 设置状态栏颜色
 *
 * @param activity       需要设置的activity
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */
public static void setColor(Activity activity, @ColorInt int color, @IntRange(from = 0, to = 255) int statusBarAlpha) {

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

        /**
         * FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 设置的作用是为了 系统以透明的背景绘制 状态栏 和 底部导航栏
         * 同时系统会以 {@link Window#getStatusBarColor()} 和 {@link Window#getNavigationBarColor()} 进行填充
         */
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        // FLAG_TRANSLUCENT_STATUS 半透明状态栏
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        // 设置状态栏颜色,必须要设置了 FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 才有效
        activity.getWindow().setStatusBarColor(calculateStatusColor(color, statusBarAlpha));

    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
        View fakeStatusBarView = decorView.findViewById(FAKE_STATUS_BAR_VIEW_ID);
        if (fakeStatusBarView != null) {
            if (fakeStatusBarView.getVisibility() == View.GONE) {
                fakeStatusBarView.setVisibility(View.VISIBLE);
            }
            fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
        } else {
            decorView.addView(createStatusBarView(activity, color, statusBarAlpha));
        }
        setRootView(activity);

    }

}
 
源代码16 项目: EasySwipeLayout   文件: MIUIDrawer.java
public void setBackgroundColor(@ColorInt int color) {
    if (mBackgroundColor != color) {
        mBackgroundColor = color;
        mBackgroundPaint.setColor(mBackgroundColor);
        requestInvalidate();
    }
}
 
源代码17 项目: EasySwipeLayout   文件: MIUIDrawer.java
public void setArrowColor(@ColorInt int color) {
    if (mArrowColor != color) {
        mArrowColor = color;
        mArrowPaint.setColor(mArrowColor);
        requestInvalidate();
    }
}
 
源代码18 项目: Android-utils   文件: ColorUtils.java
/**
 * 获得颜色 ARGB 各个纬度的分量
 *
 * @param color 颜色
 * @return      ARGB 各个分量组成的数组
 */
public static int[] getColorARGB(@ColorInt int color) {
    int[] argb = new int[4];
    argb[0] = Color.alpha(color);
    argb[1] = Color.red(color);
    argb[2] = Color.green(color);
    argb[3] = Color.blue(color);
    return argb;
}
 
源代码19 项目: tysq-android   文件: StatusBarUtils.java
/**
 * 为DrawerLayout 布局设置状态栏变色
 *
 * @param activity       需要设置的activity
 * @param drawerLayout   DrawerLayout
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */
public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color,
                                           @IntRange(from = 0, to = 255) int statusBarAlpha) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
        return;
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
    } else {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    // 生成一个状态栏大小的矩形
    // 添加 statusBarView 到布局中
    ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
    View fakeStatusBarView = contentLayout.findViewById(FAKE_STATUS_BAR_VIEW_ID);
    if (fakeStatusBarView != null) {
        if (fakeStatusBarView.getVisibility() == View.GONE) {
            fakeStatusBarView.setVisibility(View.VISIBLE);
        }
        fakeStatusBarView.setBackgroundColor(color);
    } else {
        contentLayout.addView(createStatusBarView(activity, color), 0);
    }
    // 内容布局不是 LinearLayout 时,设置padding top
    if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
        contentLayout.getChildAt(1)
                .setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(),
                        contentLayout.getPaddingRight(), contentLayout.getPaddingBottom());
    }
    // 设置属性
    setDrawerLayoutProperty(drawerLayout, contentLayout);
    addTranslucentView(activity, statusBarAlpha);
}
 
源代码20 项目: Android-utils   文件: ImageUtils.java
public static Bitmap drawColor(@NonNull final Bitmap src, @ColorInt final int color, final boolean recycle) {
    if (isEmptyBitmap(src)) return null;
    Bitmap ret = recycle ? src : src.copy(src.getConfig(), true);
    Canvas canvas = new Canvas(ret);
    canvas.drawColor(color, PorterDuff.Mode.DARKEN);
    return ret;
}
 
源代码21 项目: Android-utils   文件: ImageUtils.java
public static Bitmap toRound(final Bitmap src,
                             @IntRange(from = 0) int borderSize,
                             @ColorInt int borderColor,
                             final boolean recycle) {
    if (isEmptyBitmap(src)) return null;
    int width = src.getWidth();
    int height = src.getHeight();
    int size = Math.min(width, height);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    Bitmap ret = Bitmap.createBitmap(width, height, src.getConfig());
    float center = size / 2f;
    RectF rectF = new RectF(0, 0, width, height);
    rectF.inset((width - size) / 2f, (height - size) / 2f);
    Matrix matrix = new Matrix();
    matrix.setTranslate(rectF.left, rectF.top);
    matrix.preScale((float) size / width, (float) size / height);
    BitmapShader shader = new BitmapShader(src, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    shader.setLocalMatrix(matrix);
    paint.setShader(shader);
    Canvas canvas = new Canvas(ret);
    canvas.drawRoundRect(rectF, center, center, paint);
    if (borderSize > 0) {
        paint.setShader(null);
        paint.setColor(borderColor);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeWidth(borderSize);
        float radius = center - borderSize / 2f;
        canvas.drawCircle(width / 2f, height / 2f, radius, paint);
    }
    if (recycle && !src.isRecycled()) src.recycle();
    return ret;
}
 
源代码22 项目: Android-utils   文件: ImageUtils.java
public static Bitmap toRoundCorner(final Bitmap src,
                                   final float radius,
                                   @IntRange(from = 0) int borderSize,
                                   @ColorInt int borderColor,
                                   final boolean recycle) {
    if (isEmptyBitmap(src)) return null;
    int width = src.getWidth();
    int height = src.getHeight();
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    Bitmap ret = Bitmap.createBitmap(width, height, src.getConfig());
    BitmapShader shader = new BitmapShader(src, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    paint.setShader(shader);
    Canvas canvas = new Canvas(ret);
    RectF rectF = new RectF(0, 0, width, height);
    float halfBorderSize = borderSize / 2f;
    rectF.inset(halfBorderSize, halfBorderSize);
    canvas.drawRoundRect(rectF, radius, radius, paint);
    if (borderSize > 0) {
        paint.setShader(null);
        paint.setColor(borderColor);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeWidth(borderSize);
        paint.setStrokeCap(Paint.Cap.ROUND);
        canvas.drawRoundRect(rectF, radius, radius, paint);
    }
    if (recycle && !src.isRecycled()) src.recycle();
    return ret;
}
 
源代码23 项目: Android-utils   文件: ImageUtils.java
public static Bitmap addCornerBorder(final Bitmap src,
                                     @IntRange(from = 1) final int borderSize,
                                     @ColorInt final int color,
                                     @FloatRange(from = 0) final float cornerRadius,
                                     final boolean recycle) {
    return addBorder(src, borderSize, color, false, cornerRadius, recycle);
}
 
源代码24 项目: Android-utils   文件: ImageUtils.java
public static Bitmap addTextWatermark(final Bitmap src,
                                      final String content,
                                      final int textSize,
                                      @ColorInt final int color,
                                      final float x,
                                      final float y) {
    return addTextWatermark(src, content, textSize, color, x, y, false);
}
 
源代码25 项目: QRefreshLayout   文件: QRefreshLayout.java
/**
 * 如果使用了默认加载动画,设置进度圈颜色
 *
 * @param colors
 */
public void setColorSchemeColors(@ColorInt int... colors) {
    if (viewRefresh instanceof DefaultRefreshView) {
        ((DefaultRefreshView) viewRefresh).setColorSchemeColors(colors);
    }
}
 
源代码26 项目: QRefreshLayout   文件: QRefreshLayout.java
/**
 * Set the background color of the progress spinner disc.
 *
 * @param color
 */
public void setProgressBackgroundColorSchemeColor(@ColorInt int color) {
    if (viewRefresh instanceof DefaultRefreshView) {
        ((DefaultRefreshView) viewRefresh).setBackgroundColor(color);
    }
}
 
源代码27 项目: QRefreshLayout   文件: DefaultRefreshView.java
public void setColorSchemeColors(@ColorInt int... colors) {
    mProgress.setColorSchemeColors(colors);
}
 
源代码28 项目: QRefreshLayout   文件: DefaultRefreshView.java
@Override
public void setBackgroundColor(@ColorInt int color) {
    imageView.setBackgroundColor(color);
}
 
源代码29 项目: VIA-AI   文件: VideoSelectPreference.java
public void setBackgroundColor(@ColorInt int color) {
    if(mView != null) {
        mView.setBackgroundColor(color);
    }
    mBkgColor = color;
}
 
源代码30 项目: VIA-AI   文件: TextPreference.java
public void setBackgroundColor(@ColorInt int color) {
    if(mView != null) {
        mView.setBackgroundColor(color);
    }
    mBkgColor = color;
}
 
 类方法
 同包方法