Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> навесить событие на круг 
:(
    Опции темы
Samotnik
Дата 16.8.2014, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



Привет! 
Есть круг smile Как на него повесит событие нажатия? 
Код

public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        CrazyEightsView ev = new CrazyEightsView(this);

        setContentView(ev);
    }

    public class CrazyEightsView extends View {

        private Paint redPaint;
        private int circleX;
        private int circleY;
        private float radius;

        public CrazyEightsView(Context context) {
            super(context);
            redPaint = new Paint();
            redPaint.setAntiAlias(true);
            redPaint.setColor(Color.rgb(99, 0, 0));
            circleX = 100;
            circleY = 100;
            radius = 30;

        }

        @Override
        public void onDraw(Canvas canvas) {
            canvas.drawCircle(circleX, circleY, radius, redPaint);
        }
    }

}

PM MAIL   Вверх
diadiavova
Дата 16.8.2014, 21:37 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: нет
Всего: 142



Цитата(Samotnik @  16.8.2014,  18:29 Найти цитируемый пост)
Как на него повесит событие нажатия? 

Да так же, как и на любую другую вьюху
Код

        ev.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // Здесь код обработки
                

            }
        });
 Не?  smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Samotnik
Дата 17.8.2014, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



у PAint нет такого метода
PM MAIL   Вверх
diadiavova
Дата 17.8.2014, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: нет
Всего: 142



Samotnik, у какого ещё пэйнт? Ты создал класс, наследующий View  и пытаешься привязать обработчик кликов к его экземпляру. Если это так, то метод setOnClickListener у него должен быть, поскольку наследуется от View. Если делаешь что-то другое, то объясни что, поскольку класс Paint просто хранит информацию о стиле и кликнуть по нему нельзя.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
igorka
Дата 26.8.2014, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 28.6.2007

Репутация: нет
Всего: нет



Если надо отслеживать клик на по всему View, а только по определенной зоне, можно использовать
  setOnTouchListener(View.OnTouchListener l)

и в onTouch(View v, MotionEvent event)

проверять входят ли event.getX() и event.getY() в заданый круг
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.