Форум программистов, компьютерный форум, киберфорум
Наши страницы

Загрузка изображений в TextView из HTML - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Подключение библиотеки к проекту в Intellij IDEA используя Gradle http://www.cyberforum.ru/android-dev/thread1242237.html
Недавно нужно было сделать проект-тестовое задание. Проект должен был собираться с помощью Gradle, использовать сторонние библиотеки и обитать на GitHub. Одной из ошибок является неверное подключение...
Программирование Android Текстура OpenGL es 2 Доброго времени суток. Возникла такая проблема. Пишу 3D гоночки(eclipse+android sdk+openGL es 2) , тестирую на LG G-pad , samsung galaxy ace 1 через юсб вход и все работает нормально. Проблемма... http://www.cyberforum.ru/android-dev/thread1242208.html
Программирование Android Не получается изменить значение переменной
В классе активити объявлена переменная int a. В классе есть метод public boolean onTouch. В этом методе надо делать уменьшение или увеличение переменной int a, в зависимости от направления движения...
Как воспроизвести фоновый звой звук при разговоре по телефону? Программирование Android
Например я беру трубку и мой собеседник слышит звук который я буду воспроизводить. Например я с ним разговариваю и у меня доносится звук шума города, как будто я нахожусь в городе.
Программирование Android Navigation in Google map v2 http://www.cyberforum.ru/android-dev/thread1242101.html
У меня есть координаты 2х точек, как сделать чтобы вид карты передвинулся от 1й точки ко второй?
Программирование Android Прикрипление файлов к сообщению в диалоге Создал я listview для комментариев, к которым можно прикреплять файлы. Для списка файлов под сообщением я добавил gridview. Насколько я понял gridview это listview, но в виде таблицы. GridView не... подробнее

Показать сообщение отдельно
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 208
14.08.2014, 11:56  [ТС]
Выяснил кое-что.

ImageGetter:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
public class URLImageGetter implements Html.ImageGetter {
    public static HashMap<String, Drawable> listDrawableHashMap = new HashMap<String, Drawable>(); // TODO: Remove
 
    Context c;
    TextView container;
 
    /***
     * Construct the URLImageParser which will execute AsyncTask and refresh the container
     * @param t
     * @param c
     */
    public URLImageGetter(TextView t, Context c) {
        this.c = c;
        this.container = t;
    }
 
    public Drawable getDrawable(String source) {
        // root пути
        if (source.startsWith("//")) {
            source = "http:" + source;
        } else if (source.startsWith("/")) {
            source = "http:/" + source;
        }
 
        // TODO: Remove
        if (listDrawableHashMap.containsKey(source)) {
            return listDrawableHashMap.get(source);
        }
 
        URLBitmapDrawable urlBitmapDrawable = new URLBitmapDrawable();
 
        // get the actual source
        new ImageGetterAsyncTask(urlBitmapDrawable).execute(source);
 
        // return reference to URLDrawable where I will change with actual image from
        // the src tag
        return urlBitmapDrawable;
    }
 
    public class ImageGetterAsyncTask extends AsyncTask<String, Void, Drawable> {
        URLBitmapDrawable urlBitmapDrawable;
 
        public ImageGetterAsyncTask(URLBitmapDrawable d) {
            this.urlBitmapDrawable = d;
        }
 
        @Override
        protected Drawable doInBackground(String... params) {
            String source = params[0];
            return fetchDrawable(source);
        }
 
        @Override
        protected void onPostExecute(Drawable result) {
            if (result == null) {
                return;
            }
 
            // set the correct bound according to the result from HTTP call
            urlBitmapDrawable.setBounds(0, 0, result.getIntrinsicWidth(), result.getIntrinsicHeight());
 
            // change the reference of the current drawable to the result
            // from the HTTP call
            urlBitmapDrawable.drawable = result;
 
            // redraw the image by invalidating the container
            //URLImageGetter.this.container.requestLayout();
            //URLImageGetter.this.container.invalidate();
            URLImageGetter.this.container.setText(URLImageGetter.this.container.getText());
        }
 
        /***
         * Get the Drawable from URL
         * @param urlString
         * @return
         */
        public Drawable fetchDrawable(String urlString) {
            try {
                InputStream is = fetch(urlString);
                Drawable drawable = Drawable.createFromStream(is, "src");
                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                URLImageGetter.listDrawableHashMap.put(urlString, drawable); // TODO: Remove
                return drawable;
            } catch (Exception e) {
                return null;
            }
        }
 
        private InputStream fetch(String urlString) throws MalformedURLException, IOException {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet request = new HttpGet(urlString);
            HttpResponse response = httpClient.execute(request);
            return response.getEntity().getContent();
        }
    }
}
BitmapDrawable:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class URLBitmapDrawable extends BitmapDrawable {
    // the drawable that you need to set, you could set the initial drawing
    // with the loading image if you need to
    public Drawable drawable;
 
    @Override
    public void draw(Canvas canvas) {
        // override the draw to facilitate refresh function later
        if(drawable != null) {
            drawable.draw(canvas);
        }
    }
}
На разных устройствах, разный размер изображения. Буд-то размер картинки конвертируется в dp.
Это не плохо, но не всегда красиво изменяется размер картинки.
В моем первом посту - неудачный вариант ресайза. А к этому посту прикрепляю более удачный вариант.
0
Миниатюры
Загрузка изображений в TextView из HTML   Загрузка изображений в TextView из HTML  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru