如何用毕加索随机加载图像
How to randomly load an image with picasso
我想知道是否可以使用 picasso 从数组中加载随机选取的图像?
这是我用来加载我的专辑封面的代码,但我想要实现的是当没有找到专辑封面时,我想显示一个随机图像而不是相同的图像。
private void loadAlbumArt(){
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(R.drawable.no_album)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}
提前致谢,
文斯
试试这个:
int[] myImageList = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3,
R.drawable.img4, R.drawable.img5, R.drawable.img6};
Random random = new Random();
int randomNumber = random.nextInt(myImageList.length);
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(myImageList[randomNumber])
.noFade()
.resize(500, 0)
.into(mAlbumArt);
您可以使用此代码
检查专辑封面是否可用,方法如下
private void loadAlbumArt() {
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
if (!albumArtUri.equalsIgnoreCase("")) {
Picasso.with(getApplicationContext())
.load(albumArtUri)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
} else {
int[] myImageList = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3,
R.drawable.img4, R.drawable.img5, R.drawable.img6};
Random random = new Random();
int randomNumber = random.nextInt(myImageList.length);
Picasso.with(getApplicationContext())
.load(myImageList[randomNumber])
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}
}
现在您可以在专辑封面不可用时显示随机图像
private void loadAlbumArt(){
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(new Random().nextInt(songList.size())).getAlbumID());
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(R.drawable.no_album)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}
我想知道是否可以使用 picasso 从数组中加载随机选取的图像?
这是我用来加载我的专辑封面的代码,但我想要实现的是当没有找到专辑封面时,我想显示一个随机图像而不是相同的图像。
private void loadAlbumArt(){
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(R.drawable.no_album)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}
提前致谢,
文斯
试试这个:
int[] myImageList = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3,
R.drawable.img4, R.drawable.img5, R.drawable.img6};
Random random = new Random();
int randomNumber = random.nextInt(myImageList.length);
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(myImageList[randomNumber])
.noFade()
.resize(500, 0)
.into(mAlbumArt);
您可以使用此代码
检查专辑封面是否可用,方法如下
private void loadAlbumArt() {
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
if (!albumArtUri.equalsIgnoreCase("")) {
Picasso.with(getApplicationContext())
.load(albumArtUri)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
} else {
int[] myImageList = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3,
R.drawable.img4, R.drawable.img5, R.drawable.img6};
Random random = new Random();
int randomNumber = random.nextInt(myImageList.length);
Picasso.with(getApplicationContext())
.load(myImageList[randomNumber])
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}
}
现在您可以在专辑封面不可用时显示随机图像
private void loadAlbumArt(){
Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(new Random().nextInt(songList.size())).getAlbumID());
Picasso.with(getApplicationContext())
.load(albumArtUri)
.placeholder(R.drawable.no_album)
.error(R.drawable.no_album)
.noFade()
.resize(500, 0)
.into(mAlbumArt);
}