对于我的应用,我需要有2或3种不同尺寸的相同图像
或者我想知道是否可以从另一个drawable文件夹中获取drawables(即:具有不同分辨率的相同图像可以像这样)
否则,我应该在每个可绘制文件夹中多次复制相同的图像(mdpi,hdpi,xhdpi)
例如:我在hdpi文件夹中有可绘制的ima,我需要更小和更大的相同图像,这些图像在mdpi和xhdpi文件夹中可用=>我怎样才能得到它们或者我必须在hdpi文件夹中复制我需要的图像?
对不起我的英语不好
感谢您的帮助
答案 0 :(得分:0)
名为mdpi, hdpi, xhdpi
的文件夹用于随机设备,我的意思是有随机屏幕的设备。从屏幕上考虑有4种类型的Android设备。小,正常,大,超大,这就是为什么有这些文件夹,为什么你不想改变你的图片名称?如果它没有帮助你能解释你的问题更容易辨认吗?我不确定我是否正常问题:)
关心Hayk Nahapetyan
答案 1 :(得分:0)
以编程方式尝试..
InputStream is=this.getResources().getAssets().open("drawable.png");
is=this.getResources().openRawResource(R.raw.myDrawable);
或强>
如果要使用该路径,请尝试以下操作:
private void showImage() {
String uri = "drawable/icon";
// int imageResource = R.drawable.icon;
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
Drawable image = getResources().getDrawable(imageResource);
imageView.setImageDrawable(image);
}
但建议使用R
引用:
int imageResource = R.drawable.icon;
Drawable image = getResources().getDrawable(imageResource);
drawable-hdpi drawable-mdpi,drawable-ldpi
只是不同的文件夹,可根据屏幕分辨率区分图像质量。我们的想法是将相同的图像放在具有不同分辨率的不同文件夹中......
答案 2 :(得分:0)
我不确定我是否完全理解你,但对于我来说,你应该逻辑地组织你的drawable并将它们放到资源文件夹而不是资源。然后你可以随意使用它们。
此外,我认为无法从其他屏幕访问资源。
希望我理解你发布的权利。
修改强>
API Level 15引入了Resources.getDrawableForDensity()方法。据我所知,没有办法在旧版本上启动它。