Yan*_*nny 10 android android-image android-webview android-imageview
我无法显示保存在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";
Run Code Online (Sandbox Code Playgroud)
我在跑步时在屏幕上看到的是一个带有"obj"文字的小方块.那有什么不对?无法读取图像或其他内容?如何显示图片?
老实说,我用Google搜索了很多,并试图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;
}
};
Run Code Online (Sandbox Code Playgroud)
================================================== ======= if(....){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";
}
Run Code Online (Sandbox Code Playgroud)
Dam*_*ian 33
2016年12月12日更新:
getResources().getDrawable()在api 22中已弃用,因此您现在应该使用ContextCompat.getDrawable,例如
Drawable d = ContextCompat.getDrawable(context, R.drawable.smiley);
Run Code Online (Sandbox Code Playgroud)
在您的活动中,您可以调用此方法将Drawable资源作为Drawable对象
Drawable d = getResources().getDrawable(R.drawable.smiley);
Run Code Online (Sandbox Code Playgroud)
如果要在ImageView中显示可绘制的内容,可以执行以下操作:
ImageView i = new ImageView(this);
i.setImageResource(R.drawable.smiley);
Run Code Online (Sandbox Code Playgroud)
或者在你的xml文件中
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/smiley"/>
Run Code Online (Sandbox Code Playgroud)
您可以在pImg的帮助下获取图像.基于适配器位置获取作为图像名称的字符串.图像应存在于drawable文件夹中.
ImageView prodImg=(ImageView)view.findViewById(R.id.img_proj_name);
String pImg=prod.get(position);
int resID = view.getResources().getIdentifier("@drawable/"+pImg , "drawable", parentView.getContext().getPackageName());
prodImg.setImageResource(resID);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68034 次 |
| 最近记录: |