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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
kolyanick
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 2
#1

Кастомный ImageView - Программирование Android

26.06.2014, 02:38. Просмотров 847. Ответов 3
Метки нет (Все метки)

Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс (public class TouchView extends ImageView), выводящий 2 изображения в наложении друг на друга.
Мне нужно этот класс вывести в ImageView на layout.
Каким образом это можно делать? Пробую как TouchView nnn = (TouchView)findViewById(R.id.imageView1) - ошибка.

Разметка layout:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
 
    </LinearLayout>
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
 public class TouchView extends ImageView{
    Bitmap bgr;
    Bitmap overlayDefault;
    Bitmap overlay_mutable;
    Paint pTouch;
    int X = -100;
    int Y = -100;
    Canvas c2;
 
    public TouchView(Context context) {
        super(context);
 
        bgr = BitmapFactory.decodeResource(getResources(),R.drawable.bgr);
        overlayDefault =     BitmapFactory.decodeResource(getResources(),R.drawable.over);
    overlay_mutable = Bitmap.createBitmap(overlayDefault.getWidth(), overlayDefault.getHeight(), Config.ARGB_8888);  // convert to ARGB_8888 format,only den can it be put on canvas in next line..
    c2 = new Canvas();
    c2.setBitmap(overlay_mutable);
    c2.drawBitmap(overlayDefault, 0, 0, null);
 
    pTouch = new Paint(Paint.ANTI_ALIAS_FLAG);         
    pTouch.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 
    pTouch.setAlpha(0);
    pTouch.setColor(Color.TRANSPARENT);
    pTouch.setMaskFilter(new BlurMaskFilter(8, Blur.NORMAL));  // Blur modes
 
}
 
@Override
public boolean onTouchEvent(MotionEvent ev) {
 
    switch (ev.getAction()) {
 
        case MotionEvent.ACTION_DOWN: {
 
            X = (int) ev.getX();
            Y = (int) ev.getY();
            invalidate();
            break;
        }
        case MotionEvent.ACTION_MOVE: {
                X = (int) ev.getX();
                Y = (int) ev.getY();
                invalidate();
                break;
        }           
        case MotionEvent.ACTION_UP:
            break;
    }
    return true;
}
 
@Override
public void onDraw(Canvas canvas){
    //copy the default overlay into temporary overlay and punch a hole in it                          
    c2.drawCircle(X, Y, 5, pTouch);
    //draw the overlay over the background
    canvas.drawBitmap(overlay_mutable, 0, 0, null);
    super.onDraw(canvas);
}
    }


Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 02:38     Кастомный ImageView
Посмотрите здесь:

Кастомный список - Программирование Android
Здравствуйте. Пытаюсь сделать список с помощью RecyclerView. Нужно разделить его на несколько частей, примерно 3-4. Каждая часть должна...

Кастомный адаптер listView - Программирование Android
Доброго времени суток, в общем впервые столкнулся с задачей создания кастомного адаптера для listView. Нашел много примеров/статей,...

ListView и кастомный адаптер - Программирование Android
Добрый день ув. Программисты! Нашёл код который заполняет ListView с кастомным адаптером. Но вот проблема ListView создаётся...

Краш - кастомный cursoradapter - Программирование Android
Здравствуйте. Пишу программу с базой sqlite уже всю голову сломал. Идея такая если создаю стандартный simplecursoradapter то при...

Кастомный стиль Button - Программирование Android
Проблема: поменял у кнопки background на другой цвет и сразу &quot;все попортилось&quot; (то есть пропали закругленные края, уменьшился размер самой...

Кастомный заголовок ActionBar - Программирование Android
Увеличивая шрифт в заголовке ActionBar-а. public static void setActionBarTitle(Activity activity){ if(Build.VERSION.SDK_INT &gt;=...

Не работает кастомный адаптер - Программирование Android
Делаю программу с собственным адаптером для ListView. Компилятор ни на что не ругается, но активность с листом не открывается. Выполнение...

Кастомный ArrayAdapter для Spinner - Программирование Android
Создал свой адаптер. Привязал его к списку Spinner. Получил идентификатор выбранной записи. Ну вроде бы как получается в каждом элементе...

Установить кастомный thumb на seekBar по цетру - Программирование Android
Добрый день. Вопрос по seekBar'у (слайдер). Я изменяю в ходе работы приложения ширину и длину seekBar и поэтому поставил такие...

Несколько string массивов в кастомный адаптер - Программирование Android
Есть ListView с кастомным адаптером в отдельном классе. Нашел код на просторах как передавать в кастомный адаптер один string . А как...

Кастомный шрифт для всего приложения - Программирование Android
подскажите лучший способ использовать кастомный шрифт для всего приложения.

Кастомный рекламный блок для приложения - Программирование Android
Доброго времени суток. Как сделать свой баннер для открутки js или простых рекламных блоков приложений с возможностью обновления без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
26.06.2014, 10:40     Кастомный ImageView #2
Цитата Сообщение от kolyanick Посмотреть сообщение
ошибка.
какая?
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75
27.06.2014, 09:08     Кастомный ImageView #3
Цитата Сообщение от kolyanick Посмотреть сообщение
TouchView nnn = (TouchView)findViewById(R.id.imageView1) - ошибка.
Приводите к типу TouchView, а в коде разметки у вас
Цитата Сообщение от kolyanick Посмотреть сообщение
<ImageView />
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
27.06.2014, 10:08     Кастомный ImageView #4
Цитата Сообщение от kolyanick Посмотреть сообщение
Мне нужно этот класс вывести в ImageView на layout.
Поправьте layout файл
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
<ПОЛНОЕ.ИМЯ.ПАКЕТА.В.КОТОРОМ.ЛЕЖИТ.ВАШ.ТАЧВЬЮ.TouchView 
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
Yandex
Объявления
27.06.2014, 10:08     Кастомный ImageView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru