小编eeV*_*kos的帖子

我是否可以为我的所有应用设置单个Google Maps API密钥而无需注册其软件包名称?

我编写了一个包含自定义MapFragments的android库项目,该项目基于Google Maps for Android v2 API.在Google API控制台中,我已使用调试/签名证书注册了库的包名称.

我需要创建使用此库作为公共代码库的各种应用程序,我想知道是否有一种方法仍然可以使用库的MapFragments,而无需在Google API控制台中添加每个应用程序的包名称.我需要这个,因为我想自动创建应用程序(使用Jenkins),我不想要任何手动步骤,例如登录API控制台并注册包名称.

到目前为止,我还没有找到办法做到这一点.通配符不起作用(例如,将com.mycompany.*作为控制台中的包名称),如果我没有显式注册每个应用程序的包名称,则不会加载地图.

是否有可能以某种方式使MapFragments查找的单个api密钥/包,而不是应用程序?

android google-maps google-maps-android-api-2

19
推荐指数
2
解决办法
2万
查看次数

带有圆角和内部阴影的ImageView

我需要制作带圆角和内阴影的缩略图.通常我正在制作带有9个补丁的ImageView帧,这对我来说效果很好,但这次我需要的效果需要在图像顶部绘制内部阴影(而不仅仅是它周围).这导致我扩展ImageView类并覆盖onDraw()方法.

public class ThumbnailImageView extends ImageView {
Run Code Online (Sandbox Code Playgroud)

经过很多教程(感谢StackOverflow!),我最终得到了onDraw()方法的代码:

@Override
protected void onDraw(Canvas canvas) {
    if (mBitmap == null) {
        return;
    }

    int radius = 4;
    int padding = 2;
    int bleed = 2;
    RectF frame = new RectF(padding, padding, getWidth() - padding, getHeight() - padding);

    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    mPaint.setColor(0xFF000000);
    canvas.drawRoundRect(frame, radius, radius, mPaint);

    Shader bitmapShader = new BitmapShader(mBitmap, TileMode.CLAMP, TileMode.CLAMP);
    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    mPaint.setColor(0xFF000000);
    mPaint.setMaskFilter(new BlurMaskFilter(bleed, Blur.INNER));
    mPaint.setShader(bitmapShader);
    canvas.drawRoundRect(frame, radius, radius, mPaint);
}
Run Code Online (Sandbox Code Playgroud)

我基本上做的是先绘制一个黑色的圆角矩形,然后绘制一个带有渐变边缘(带有BlurMaskFilter)的圆角位图.结果就是我想要的: onDraw()结果 mBitmap值在ImageView构造函数中初始化,如下所示:

mDrawable = getDrawable(); …
Run Code Online (Sandbox Code Playgroud)

android draw imageview

17
推荐指数
1
解决办法
1万
查看次数