FloatingActionButton.java 文件源码

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

项目:android_gisapp 作者:
private Drawable createInnerStrokesDrawable(
        final int color,
        float strokeWidth)
{
    if (!mStrokeVisible) {
        return new ColorDrawable(Color.TRANSPARENT);
    }

    ShapeDrawable shapeDrawable = new ShapeDrawable(new OvalShape());

    final int bottomStrokeColor = darkenColor(color);
    final int bottomStrokeColorHalfTransparent = halfTransparent(bottomStrokeColor);
    final int topStrokeColor = lightenColor(color);
    final int topStrokeColorHalfTransparent = halfTransparent(topStrokeColor);

    final Paint paint = shapeDrawable.getPaint();
    paint.setAntiAlias(true);
    paint.setStrokeWidth(strokeWidth);
    paint.setStyle(Style.STROKE);
    shapeDrawable.setShaderFactory(
            new ShaderFactory()
            {
                @Override
                public Shader resize(
                        int width,
                        int height)
                {
                    return new LinearGradient(
                            width / 2, 0, width / 2, height, new int[] {
                            topStrokeColor,
                            topStrokeColorHalfTransparent,
                            color,
                            bottomStrokeColorHalfTransparent,
                            bottomStrokeColor}, new float[] {0f, 0.2f, 0.5f, 0.8f, 1f},
                            TileMode.CLAMP);
                }
            });

    return shapeDrawable;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号