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

Кастомный ImageView - Android

Войти
Регистрация
Восстановить пароль
 
kolyanick
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 2
26.06.2014, 02:38     Кастомный ImageView #1
Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс (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 Кастомный стиль Button
Android Кастомный EditText
Кастомный шрифт для всего приложения Android
ListView и кастомный адаптер Android
Android Кастомный EditText
Несколько string массивов в кастомный адаптер Android
Кастомный заголовок ActionBar Android
Android Кастомный ArrayAdapter для Spinner
Android Кастомный список
Установить кастомный thumb на seekBar по цетру Android
Кастомный EditText Android
Android Краш - кастомный cursoradapter

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1890 / 1624 / 505
Регистрация: 12.05.2014
Сообщений: 5,852
Завершенные тесты: 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
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
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
Ответ Создать тему
Опции темы

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