锁屏上的Android MediaMetadata图像被放大

锁屏上的Android MediaMetadata图像被放大,android,image,resize,media,lockscreen,Android,Image,Resize,Media,Lockscreen,在播放媒体时,我可以通过 RemoteControlClient.MetadataEditor editor = remoteControlClient.editMetadata(true); editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, bitmap); 或 但是,如果我使用横向源图像(16:9),并且锁屏方向为potrait,则背景图像将缩放(平移和扫描),而不是字母框。是否有任何api可用于

在播放媒体时,我可以通过

RemoteControlClient.MetadataEditor editor = remoteControlClient.editMetadata(true);
editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, bitmap);


但是,如果我使用横向源图像(16:9),并且锁屏方向为potrait,则背景图像将缩放(平移和扫描),而不是字母框。是否有任何api可用于强制缩放方法,或者系统将仅以这种方式渲染图像?

我遇到了同样的问题(在手机锁屏和Android Auto上),我还没有找到解决方案,但我认为您可以做一个技巧:

在位图顶部和上方添加一个透明填充,以适应锁定屏幕,下面是使位图呈方形的代码,您可以从中获得启发,使位图符合屏幕比例:

public static Bitmap createSquaredBitmap(Bitmap srcBmp) {               

    int dim = Math.max(srcBmp.getWidth(), srcBmp.getHeight());
    Bitmap dstBmp = Bitmap.createBitmap(dim, dim, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(dstBmp);
    canvas.drawColor(Color.TRANSPARENT);
    canvas.drawBitmap(srcBmp, (dim - srcBmp.getWidth()) / 2, (dim - srcBmp.getHeight()) / 2, null);

    return dstBmp;
}
public static Bitmap createSquaredBitmap(Bitmap srcBmp) {               

    int dim = Math.max(srcBmp.getWidth(), srcBmp.getHeight());
    Bitmap dstBmp = Bitmap.createBitmap(dim, dim, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(dstBmp);
    canvas.drawColor(Color.TRANSPARENT);
    canvas.drawBitmap(srcBmp, (dim - srcBmp.getWidth()) / 2, (dim - srcBmp.getHeight()) / 2, null);

    return dstBmp;
}