0

大家好,我有问题我需要在 EditText 中使用显示图像:ImageGetter。这项工作

String html = "<img src=\"ic_launcher\">";
    CharSequence text = Html.fromHtml(html, new Html.ImageGetter(){
        public Drawable getDrawable(String source){
            int id = getResources().getIdentifier(source, "drawable", getPackageName());
            Drawable d = getResources().getDrawable(id);
            int w = d.getIntrinsicWidth();
            int h = d.getIntrinsicHeight();
            d.setBounds(0, 0, w, h);

            return d;
        }
    }, null);

    mContentEditText.setText(text);

但我需要 SD 卡中的图像,而不是“R.drawable.IMAGE_NAME”,谢谢

4

3 回答 3

0

您必须在清单中应用适当的权限,以便您可以从外部存储中读取。然后创建一段代码,它将在您的 SD 卡中搜索您想要的图像。

Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());

其中 imageFile 是您的 ImageFile,例如:File imageFile = new File("/sdcard/gallery_photo_4.jpg");

于 2012-12-06T11:55:43.407 回答
0
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

     mPath ="Your image Path here";
     l1=(LinearLayout) findViewById(R.id.layout1);
     l1.setBackgroundColor(Color.WHITE);
     System.out.println(mPath);

         Bitmap b=Bitmap.createScaledBitmap(BitmapFactory.decodeFile(mPath),l1.getWidth(),l1.getHeight(),false);
if(b!=null){

        ImageView iv=new ImageView(this);
            iv.setImageBitmap(b);
    l2.addView(iv);
    }


}

这是适用于我的代码。希望对您有所帮助。

于 2012-12-06T12:00:48.513 回答
0
String html2 = "<img src=\"a.jpg\">";
    CharSequence text2 = Html.fromHtml(html2, new Html.ImageGetter(){
        public Drawable getDrawable(String source){
            String path = "/sdcard/a/" + source;
            File f = new File(path);
            Drawable bmp = Drawable.createFromPath(f.getAbsolutePath());
            bmp.setBounds(0, 0, bmp.getIntrinsicWidth(), bmp.getIntrinsicHeight());
            return bmp;
        }
    }, null);
    display.setText(text2);

是为我工作!100% 感谢所有 :)

于 2012-12-06T20:36:33.167 回答