Android - 为另一个可绘制文件夹拍摄图像

时间:2012-12-13 13:29:55

标签: android drawable

对于我的应用,我需要有2或3种不同尺寸的相同图像

或者我想知道是否可以从另一个drawable文件夹中获取drawables(即:具有不同分辨率的相同图像可以像这样)

否则,我应该在每个可绘制文件夹中多次复制相同的图像(mdpi,hdpi,xhdpi)

例如:我在hdpi文件夹中有可绘制的ima,我需要更小和更大的相同图像,这些图像在mdpi和xhdpi文件夹中可用=>我怎样才能得到它们或者我必须在hdpi文件夹中复制我需要的图像?

对不起我的英语不好

感谢您的帮助

3 个答案:

答案 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);

Source

drawable-hdpi drawable-mdpi,drawable-ldpi只是不同的文件夹,可根据屏幕分辨率区分图像质量。我们的想法是将相同的图像放在具有不同分辨率的不同文件夹中......

答案 2 :(得分:0)

我不确定我是否完全理解你,但对于我来说,你应该逻辑地组织你的drawable并将它们放到资源文件夹而不是资源。然后你可以随意使用它们。

此外,我认为无法从其他屏幕访问资源。

希望我理解你发布的权利。

修改
API Level 15引入了Resources.getDrawableForDensity()方法。据我所知,没有办法在旧版本上启动它。