Android - 如何从SDcard android显示图像使用ImageGetter

时间:2012-12-06 11:51:51

标签: java android html

大家好我有问题我需要在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);

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

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分: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);
    }


}

这是适合我的代码。它会帮助你。

答案 2 :(得分: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%thx all:)