gpt4 book ai didi

Android - 如何显示可绘制资源中的图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:48 24 4
gpt4 key购买 nike

我无法显示保存在 res/drawable 文件夹中的图像。我使用 ImageGetter 来执行此操作。代码如下:

ImageGetter imageGetter3 = new ImageGetter() {                
public Drawable getDrawable(String source) {
int id=0;
if (source.equals("smiley")) {
id = R.drawable.smiley;
}
Drawable d = getResources().getDrawable(id);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};

directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n"
+ "Sta met je rug voor de deur\n"
+ Html.fromHtml("<img src=\"smiley\">", imageGetter3, null) + " Draai naar links\n";

我在运行时在屏幕上看到的是一个带有“obj”文本的小方 block 。那有什么问题呢?图像无法读取或其他原因?如何显示图片?

老实说,我在谷歌上搜索了很多,也尝试了 ImageGetter 的其他方法,但它们似乎都不起作用,我也尝试了这些,它们不起作用:

ImageGetter imageGetter2 = new ImageGetter() { 
public Drawable getDrawable(String source) {
Drawable d = null;
d = Drawable.createFromPath(source);
d.setBounds(0,0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};

ImageGetter imageGetter = new ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawFromPath;
int path = Route.this.getResources().getIdentifier(source, "drawable","com.prj56.tracingapp");
drawFromPath = (Drawable) Route.this.getResources().getDrawable(path);
drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight());
return drawFromPath;
}
};

============================================= ========== 如果 (....) { ImageView iv1 = new ImageView(this); iv1.setImageResource(R.drawable.smiley);

    directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n" 
+ "Sta met je rug voor de deur\n";
HERE COMES THE IMAGE! BUT HOW TO DO THIS? It's within directions textview...
directions += " Draai naar links\n";

}

最佳答案

2016 年 12 月 12 日更新:

getResources().getDrawable() 在 api 22 中已弃用,因此您现在应该使用 ContextCompat.getDrawable,例如

Drawable d = ContextCompat.getDrawable(context, R.drawable.smiley);

在您的 Activity 中,您可以调用它以将您的 Drawable 资源作为 Drawable 对象获取

Drawable d = getResources().getDrawable(R.drawable.smiley);

如果你想在 ImageView 中显示你的可绘制对象,你可以这样做:

ImageView i = new ImageView(this);
i.setImageResource(R.drawable.smiley);

或者在你的xml文件中

<ImageView   
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/smiley"/>

关于Android - 如何显示可绘制资源中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6335189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com