锁定屏幕上的 Android MediaMetadata 图像已缩放
Posted
技术标签:
【中文标题】锁定屏幕上的 Android MediaMetadata 图像已缩放【英文标题】:Android MediaMetadata image on lockscreen is zoomed 【发布时间】:2015-04-09 15:59:35 【问题描述】:播放媒体时,我可以通过
将媒体图像放在锁屏上RemoteControlClient.MetadataEditor editor = remoteControlClient.editMetadata(true);
editor.putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, bitmap);
或
MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();
builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap);
但是,如果我使用横向源图像 (16:9) 并且锁屏方向是纵向,则背景图像会缩放(平移和扫描)而不是字母框。有没有什么api可以用来强制缩放方法,或者系统只会以这种方式渲染图像?
【问题讨论】:
【参考方案1】:我遇到了同样的问题(在手机锁屏和 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;
【讨论】:
以上是关于锁定屏幕上的 Android MediaMetadata 图像已缩放的主要内容,如果未能解决你的问题,请参考以下文章