Форум программистов, компьютерный форум CyberForum.ru

Скроллинг увеличенного изображения - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Абстрактный класс для layout http://www.cyberforum.ru/android-dev/thread883223.html
Уважаемые, форумчане, помогите решить проблему. В приложении большое количество layout с одинаковыми view-элементами, а именно TextView и ImageView. Как создать абстрактный класс для того, чтобы обращаться к нему, меняя только переменные из string и drawable, а не создавая каждый раз новый layout. Помогите пожааалуйста:)
Android Увеличить изображение из HorizontalScrollView Я загружаю изображения из сети, после их помещаю в ArrayList и из него эти изображения достаю и помещаю в LinerLoyout в горизонтальном ScrollView. Мне необходимо по нажатию на изображение отлавить, что за картинка нажата, т.е заранее передав ей её id или ещё что нить. У меня в ArrayList хранятся две URL одно на маленькую картинку, второе на большую, но пока я здесь использую маленькую. В коде... http://www.cyberforum.ru/android-dev/thread882562.html
Android Разница между двумя датами
Вообщем проблема такая получаю 1 дату start = System.currentTimeMillis() через некоторое время получаю 2 дату finish = System.currentTimeMillis() нужно узнать прошли ли сутки т.е finish - start > чем 1 сутки или нет
Нужно ли что - нибуть устанавливать на смартфоне для запуска Native Activity? Android
Ну вопрос в шапке. Нужно ли на сам смартфон с андройдом что - то доставлять, чтоб на нём запускалась игра, созданная при помощи NDK?
Android Как открыть проект в екслипсе ? :-) http://www.cyberforum.ru/android-dev/thread882317.html
Что - то я совсем почувствовал себя валенком :-) . Хочу открыть пример из NDK под названием native activity. Ну есть там эта папка с файлами, а как мне в эклипе открыть проект, чтоб он нормально загрузился со всеми файлами? :-)
Android Проблемы получения JSON c Яндекса Добрый день! Решил разобраться с JSON-парсингом. В процессе поиска ресурсов, с которых можно получить данные в этом формате, набрёл на ссылочку с одного форума: http://api-fotki.yandex.ru/api/users/styleroom/album/49312/photos/?format=json Вставляю её в строку браузера - всё ОК, выгружаю кучу данных. Пытаюсь сделать это программно - приходит ответ "Authorization required". Нашёл другой... подробнее

Показать сообщение отдельно
JS
1 / 1 / 0
Регистрация: 25.11.2011
Сообщений: 27
29.05.2013, 10:21     Скроллинг увеличенного изображения
Необходимо сделать скроллинг увеличенного изображения. Делал по данному примеру https://sites.google.com/site/androi...ble-image-view, добавив только увеличение. Изображение увеличивается, но скроллинг не работает!

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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
public class ScrollImageView extends View {
    private final int DEFAULT_PADDING = 10;
    private Display mDisplay;
    private Bitmap mImage;
 
    /* Current x and y of the touch */
    private float mCurrentX = 0;
    private float mCurrentY = 0;
 
    private float mTotalX = 0;
    private float mTotalY = 0;
    /* The touch distance change from the current touch */
    private float mDeltaX = 0;
    private float mDeltaY = 0;
 
    private float scaleFactor = 2.0f;
 
    int mDisplayWidth;
    int mDisplayHeight;
    int mPadding;
 
public ScrollImageView(Context context, int widthD, int heightD) {
    super(context);
    this.mDisplayWidth = widthD ;
    this.mDisplayHeight =heightD ;
    initScrollImageView(context);
    this.mImage = BitmapFactory.decodeResource(getResources(), R.drawable.img) ;
}
public ScrollImageView(Context context, AttributeSet attributeSet) {
    super(context);
    initScrollImageView(context);
}
 
private void initScrollImageView(Context context) {
    mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    mPadding = DEFAULT_PADDING;
}
 
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int width = this.mDisplayWidth ;
    int height = this.mDisplayHeight ;
    setMeasuredDimension(width, height);
}
 
private int measureDim(int measureSpec, int size) {
        int result = 0;
        int specMode = MeasureSpec.getMode(measureSpec);
        int specSize = MeasureSpec.getSize(measureSpec);
 
        if (specMode == MeasureSpec.EXACTLY) {
            result = specSize;
        } else {
            result = size;
            if (specMode == MeasureSpec.AT_MOST) {
               result = Math.min(result, specSize);
            }
        }
        return result;
    }
 
public Bitmap getImage() {
    return mImage;
}
 
public void setImage(Bitmap image) {
    mImage = image;
}
 
public int getPadding() {
    return mPadding;
}
 
public void setPadding(int padding) {
    this.mPadding = padding;
}
 
@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        mCurrentX = event.getRawX();
        mCurrentY = event.getRawY();
    } 
    else if (event.getAction() == MotionEvent.ACTION_MOVE) {
        float x = event.getRawX();
        float y = event.getRawY();
 
        // Update how much the touch moved
        mDeltaX = x - mCurrentX;
        mDeltaY = y - mCurrentY;
 
        mCurrentX = x;
        mCurrentY = y;
 
        invalidate();
    }
    // Consume event
    return true;
}
 
@Override
protected void onDraw(Canvas canvas) {
    if (mImage == null) {
        return;
}
 
    float newTotalX = mTotalX + mDeltaX;
    // Don't scroll off the left or right edges of the bitmap.
    if (mPadding > newTotalX && newTotalX > getMeasuredWidth() - mImage.getWidth() - mPadding)
        mTotalX += mDeltaX;
 
    float newTotalY = mTotalY + mDeltaY;
    // Don't scroll off the top or bottom edges of the bitmap.
    if (mPadding > newTotalY && newTotalY > getMeasuredHeight() - mImage.getHeight() - mPadding)
        mTotalY += mDeltaY;
 
    Paint paint = new Paint();
    canvas.scale(scaleFactor, scaleFactor);
    canvas.drawBitmap(mImage, mTotalX, mTotalY, paint);
}
}
Где ошибка может быть? И зачем в этом примере метод measureDim() если он не используется?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru