Как настроить прослушиватель для растровых изображений на холсте в моем пользовательском представлении ...? - PullRequest
2 голосов
/ 28 сентября 2011

У меня есть пользовательский вид, в котором я рисую много растровых изображений,

Теперь я хочу изменить растровое изображение, когда пользователь нажимает на него.

Как это сделать ...?

вот мой метод пользовательского представления onDraw.

public void onDraw(Canvas canvas) {

        super.onDraw(canvas);
        Bitmap mBitmap = null;

        int x = row * 20;
        int y = clm * 20;
        System.out.println("the x=" + x + "y=" + y);
        int counter = 0;
        for (int a = 0; a <= x; a += 20)
            for (int b = 0; b <= y; b += 20) {
                mBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.test);
                canvas.drawBitmap(mBitmap, a, b, null);
                counter++;
            }   
    }

Ответы [ 2 ]

0 голосов
/ 28 сентября 2011

Чтобы сделать более одного растрового изображения кликабельным, вам нужно будет использовать класс ViewGroup, так как OnClickListener реализован в представлении.

ОБНОВЛЕНИЕ

Вы понимаете, что представления идут внутри макетов.когда вы видите 5 кнопок на экране, это 5 видов внутри Layout (ViewGroup).Слушатели, которых вы добавляете, находятся на представлениях.Если у вас есть несколько растровых изображений, которые вы хотите щелкнуть, вам нужно сделать изображения в виде изображений и добавить их в макет.Если вы хотите расположить их в определенном порядке, вам нужно создать собственную группу просмотра.В пользовательском представлении вы можете установить только щелчок для всего представления, а не для его частей.Может быть, вы можете пересмотреть представление onTouch, захватить x, y сердцевины касания и найти, какая часть щелкала по множеству вычислений.Но это большая хакерская группа - это естественный способ ведения дел.

0 голосов
/ 28 сентября 2011
View.SetOnClickListner() 

работает для любого View, просто замените View на customView здесь.Вы получаете доступ к представлению, по которому произошел щелчок.тогда вы можете изменить растровое изображение вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...