android - 用textview显示html时如何写imagegetter获取网络图片
PHP中文网
PHP中文网 2017-04-17 17:40:14
0
4
607

项目需要实现图文混排,后台给出来的文本是html格式的,ui要求需要调整行间距,webview可以显示各种标签,
但是无法调整行间距,试着往span中添加line-height也失败了,而且webview无法调整内边距,且webview中的内容
可以滑动,因此不太符合我们的要求
最后决定还是使用textview来实现,这样可以调整各种样式,但是在写imagegetter的时候遇到一些问题
搜索了很久,都只是搜索到一些显示本地图片没有显示网络图片,网络图片的大致方向也是要保存到本地之后再显示
但是在保存的时候会有一些问题,我保存时不知道为什么有ioexception
关于imagegetter不知道有没有什么其他的思路

private Html.ImageGetter imageGetter = new Html.ImageGetter() {
    @Override
    public Drawable getDrawable(String source) {
        String url = getApplicationContext().getExternalCacheDir().getPath() + "/image";
        File dir = new File(url);
        if (dir.exists()) {
            Drawable drawable = Drawable.createFromPath(url+source);
            if (drawable != null){
                return drawable;
            }
        }
        loadPic(source);
        return null;
    }
};
private void loadPic(final String source){
    x.image().loadDrawable(source, ImageOptions.DEFAULT,new Callback.CommonCallback<Drawable>(){
        @Override
        public void onSuccess(Drawable result) {
            super.onSuccess(result);
            saveImage(source,result,getApplicationContext());
            textview.setText(Html.fromHtml(content,imageGetter,null));
        }
    });
}
private void saveImage(String name,Drawable result, Context context) {
    Bitmap bit = ((BitmapDrawable) result).getBitmap();
    String url = context.getExternalCacheDir().getPath() + "/image";
    File dir = new File(url);
    if (!dir.exists()) {
        dir.mkdirs();
    }
    File file = new File(dir.getAbsolutePath(),name);
    if (file.exists()) {
        return url+name;
    }
    try {
        //这里会出现ioexception
        FileOutputStream fos = new FileOutputStream(file);
        bit.compress(Bitmap.CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
        return url+name;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

这是我的代码,不知道又没有什么其他的好方法解决

PHP中文网
PHP中文网

认证0级讲师

membalas semua(4)
Ty80

http://git.oschina.net/zzhouj...

Saya dapati satu di sini Ia boleh digunakan dengan sedikit pengubahsuaian yang perlu dikonfigurasikan jika saya memikirkan cara lain untuk mengubahnya, saya akan menyiarkannya kemudian

阿神

https://github.com/Sufficient...
Ada alat sedemikian, tetapi ia tidak sempurna.
Imej boleh dimuatkan secara automatik daripada rangkaian, tetapi tiada cache setempat dan proses pemuatan adalah tidak segerak, jadi ketinggian reka letak anda akan menjadi tidak pasti. Ia tidak disyorkan jika ia berada dalam paparan senarai.

迷茫

Saya telah menggunakan ini sebelum ini dan ia juga cukup bagus. Terdapat juga penyelesaian imagegetter lalai, anda boleh merujuknya.
https://github.com/Sufficient...

小葫芦

Ini lagi satuhttps://github.com/angebagui/...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan