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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Google maps android http://www.cyberforum.ru/android-dev/thread1216973.html
Надо добавить ГуглМэпс в приложение + построение маршрута. Как это сделать было скопипастено вот отсюда : http://localhoster.blogspot.ru/2012/12/android-google-maps-api-v2-4.html + Исправлены некоторые неточно, но! При запуске приложение вылетает . При дебаге проявилась следующее. В ActivityThread проблемы с импортом, а точнее отсутствуют: android.content.IIntentReceiver;...
Программирование Android Не запускается IntentService Есть кнопка, по нажатию которой должен запускаться определенный IntentService: btnTest = (Button) findViewById(R.id.button1); OnClickListener oclBtnOk = new OnClickListener() { @Override public void onClick(View v) { Log.i("OnClickButton", "OnClick"); Intent mIntent = new Intent(v.getContext(), BroadcastReceiveServices.class);... http://www.cyberforum.ru/android-dev/thread1216956.html
ListPreference Программирование Android
Какой есть обработчик для itemов ListPreference? То есть что бы можно было обрабатывать нажатия на item?
Программирование Android Adt-bundle-windows
Здравствуйте, Уважаемые программисты Андроид! Сориентируйте пожалуйста по такому вопросу. Установил adt-bundle-windows с поддержкой С++. Можно ли внедрить готовое приложение на С++ (с GUI) в данный компилятор и сформировать .apk файл? Если можно, то как? Дело в том, что при создании проекта С++ в adt-bundle-windows, он создается без графической оболочки( кнопки и т .д). Графический интерфейс в...
Программирование Android SharedPreferences http://www.cyberforum.ru/android-dev/thread1216737.html
как сохранить целое значение в SharedPreferences?
Программирование Android Android Studio и jni Как заставить анроид студио компилить библиотеки? Я добавил папку jni возле java, теперь ругаеться(не может найти jni.h)...но в дереве исходнонго кода нормально собирается подробнее

Показать сообщение отдельно
kolyanick
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 2

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

26.06.2014, 02:38. Просмотров 846. Ответов 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);
}
    }


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