Картинку, к сожалению разбить сложо. Тем более, что предполагается использовать на разных разрешениях экрана. А вот из onClick можно узнать координату?rezak90 писал(а):так вроде как и ничего сложного что ле... просто повесить на картинку обработчик onClick и в теле метода вызвать другое активити. Но это если нужно слышать щелчек по всей картинке, если же только на отдельной части картинки то это уже проблема (первое что приходит в голову так это разбить картинку на несколько картинок, при том что картинка не сложная) ... как то так.
Урок 9. Обработчики событий на примере Button.
Re: Урок 9. Обработчики событий на примере Button.
Re: Урок 9. Обработчики событий на примере Button.
Реализуй кастомноую вьюху для изображения и в ней переопредели метод onTouchEvent для определения координат изображения и выводи в лог координаты. Попробуй, должно сработать.Milker писал(а):Картинку, к сожалению разбить сложо. Тем более, что предполагается использовать на разных разрешениях экрана. А вот из onClick можно узнать координату?rezak90 писал(а):так вроде как и ничего сложного что ле... просто повесить на картинку обработчик onClick и в теле метода вызвать другое активити. Но это если нужно слышать щелчек по всей картинке, если же только на отдельной части картинки то это уже проблема (первое что приходит в голову так это разбить картинку на несколько картинок, при том что картинка не сложная) ... как то так.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 9. Обработчики событий на примере Button.
Делай изображение с прозрачным фоном.
Если не кликается на прозрачную часть - всё ОК.
Если кликается - лови onTouchEvent (в производном классе или слушателем). А там
imageView.getDrawable().getTransparentRegion().contains(x, y) - проверяй, тапаешь ли в прозрачный регион.
Если не кликается на прозрачную часть - всё ОК.
Если кликается - лови onTouchEvent (в производном классе или слушателем). А там
imageView.getDrawable().getTransparentRegion().contains(x, y) - проверяй, тапаешь ли в прозрачный регион.
Re: Урок 9. Обработчики событий на примере Button.
Milker, дайте скрины как оно примерно должно выглядеть и примерное описание что к чему. Подозреваю, что вам необходимо делать совсем иначе.
Кстати, вы там выше писали, что у вас в активити реализуется один интерфейс, нет никаких проблем реализовать несколько
Кстати, вы там выше писали, что у вас в активити реализуется один интерфейс, нет никаких проблем реализовать несколько
Код: Выделить всё
public class MainActivity extends Activity implements OnClickListener, OnTouchListener
Re: Урок 9. Обработчики событий на примере Button.
krjakov, абсолютно неверно, я так понимаю logo.xml это у вас активити-заставка, ее надо реализовать иначе, например, так:
Блокируя кнопки Ифсл и Home вы нарушаете гайдлайны гугла, вводите пользователя в заблуждение и вообще сеете хаос
Код: Выделить всё
package somepackage.activity;
import mobi.krona.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class ActivitySplash extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread splashThread = new Thread() {
@Override
public void run() {
try {
sleep(500); // задержка
} catch (InterruptedException e) {
// do nothing
} finally {
finish();
Intent i = new Intent();
i.setClassName("somepackage", "somepackage.activity.ActivityEnter"); // следующая активити, в вашем случае MAIN.xml
startActivity(i);
}
}
};
splashThread.start();
}
}
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
Ребят! Прошу прощения за дилетантский вопрос!
Но я что то никак не могу определится с кнопкой Cancel
с ОК все более менее понятно! т.к. имеется готовый образец кода,а вот куда дальше вписывать обработчик Cancel ?,я что то разобратся не смог(((
Не составит у вас труда ткнуть меня носом в правильном направлении)))
Спасибо.
Но я что то никак не могу определится с кнопкой Cancel
с ОК все более менее понятно! т.к. имеется готовый образец кода,а вот куда дальше вписывать обработчик Cancel ?,я что то разобратся не смог(((
Не составит у вас труда ткнуть меня носом в правильном направлении)))
Спасибо.
Re: Урок 9. Обработчики событий на примере Button.
кнопку Cancel делайте аналогично кнопке ОК. Так же создавайте обработчик и передавайте его методу setOnClickListener.le}{a52rus писал(а):Ребят! Прошу прощения за дилетантский вопрос!
Но я что то никак не могу определится с кнопкой Cancel
с ОК все более менее понятно! т.к. имеется готовый образец кода,а вот куда дальше вписывать обработчик Cancel ?,я что то разобратся не смог(((
Не составит у вас труда ткнуть меня носом в правильном направлении)))
Спасибо.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
rezak90,я дико извиняюсь,не смогли бы вы продолжить код?... 2 дня я его уже "Пилю" что то в лужу сел(((
Код: Выделить всё
package com.example.onclickbuttons;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tvOut;
Button btnOk;
Button btnCancel;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// найдем View-элементы
tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);
// создаем обработчик нажатия
OnClickListener oclBtnOk = new OnClickListener() {
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка ОК");
}
};
// присвоим обработчик кнопке OK (btnOk)
btnOk.setOnClickListener(oclBtnOk);
}
};
Re: Урок 9. Обработчики событий на примере Button.
Код: Выделить всё
btnCancel = (Button) findViewById(R.id.btnCancel);
// создаем обработчик нажатия
OnClickListener oclBtnCancel = new OnClickListener() {
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка Cancel");
}
};
// присвоим обработчик кнопке Cancel (btnCancel)
btnOk.setOnClickListener(oclBtnCancel );
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
Выдаёт ошибку...
ЗАпарился я что то... Да так что туплю конкретно.
Код: Выделить всё
package com.example.onclickbuttons;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tvOut;
Button btnOk;
Button btnCancel;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// найдем View-элементы
tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);
// создаем обработчик нажатия
OnClickListener oclBtnOk = new OnClickListener() {
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка ОК");
}
};
// присвоим обработчик кнопке OK (btnOk)
btnOk.setOnClickListener(oclBtnOk);
}
};// сдесь ошибка Sintax error "}""{" expected
btnCancel = (Button) findViewById(R.id.btnCancel);
// создаем обработчик нажатия
OnClickListener oclBtnCancel = new OnClickListener() {
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка Cancel");
}
};
// присвоим обработчик кнопке Cancel (btnCancel)
btnOk.setOnClickListener(oclBtnCancel )// и сдесь ошибка тоже Sintax error
Re: Урок 9. Обработчики событий на примере Button.
ну вы хотя бы вниклись в мой копи-паст код =)
btnOk.setOnClickListener(oclBtnCancel );
поменять на
btnCancel.setOnClickListener(oclBtnCancel );
btnOk.setOnClickListener(oclBtnCancel );
поменять на
btnCancel.setOnClickListener(oclBtnCancel );
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
Дружище! а как тогда будет реализовываться кнопка ок?
я так то понял это еще по урокам, что нужно btnOk.setOnClickListener заменить btnCancel...
но тогда обработчика для батнОк не будет!? получается что будет работать только кнопка батнКанцел??
–---------
ребят извините я только начинаю! Это мой первый опыт коддинга, если не считать HTML... но это разные вещи...
я так то понял это еще по урокам, что нужно btnOk.setOnClickListener заменить btnCancel...
но тогда обработчика для батнОк не будет!? получается что будет работать только кнопка батнКанцел??
–---------
ребят извините я только начинаю! Это мой первый опыт коддинга, если не считать HTML... но это разные вещи...
Re: Урок 9. Обработчики событий на примере Button.
просто создаёте два разных обработчика, один для кнопки ОК, другой для Cancel.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
rezak90, попробую завтра, но я просто не пойму куда их вставлять?
эти оба обработчика можно рядом друг с другом ставить?
или же сперва идет один обработчик с его атрибутами а потом уже другой?.... я не смог разобраться в порядке расположения!...
завтра попробую, сейчас нет возможности, комп на работе оставил...
Спасибо!
эти оба обработчика можно рядом друг с другом ставить?
или же сперва идет один обработчик с его атрибутами а потом уже другой?.... я не смог разобраться в порядке расположения!...
завтра попробую, сейчас нет возможности, комп на работе оставил...
Спасибо!
Re: Урок 9. Обработчики событий на примере Button.
le}{a52rus вам лучше прочитать хотя бы одну книгу по Java если возникают такие вопросы как "порядок расположения" (и даже не обязательно по Jav'e), потому что такого понятия нету. Здесь нужно понять логику кода. Обработчик можно определить в одном месте, а присвоить его кнопке в другом и т.д.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
rezak90
Спасибо большое за внимание и терпение к таким глупым вопросам с моей стороны:-)
буду пробовать, изучать!
Ковчег тоже не профессионал строил!
Что не скажешь про Титаник...
Вы уже мне во многом приоткрыли глаза!
Спасибо большое за внимание и терпение к таким глупым вопросам с моей стороны:-)
буду пробовать, изучать!
Ковчег тоже не профессионал строил!
Что не скажешь про Титаник...
Вы уже мне во многом приоткрыли глаза!
Re: Урок 9. Обработчики событий на примере Button.
le}{a52rus: Обращайте внимание на соответствие фигурных скобок
Код вставлен за пределами класса, а нужно во внутрь метода onCreate();
Код вставлен за пределами класса, а нужно во внутрь метода onCreate();
-
- Сообщения: 9
- Зарегистрирован: 04 сен 2012, 21:35
Re: Урок 9. Обработчики событий на примере Button.
Друзья!,спасибо! Разобрался скомпилил запустил,код работает!!
Всё дело в том что я обработчик создавал в обработчике Естественно он не мог понять что я от него хочу "math64" отчасти был прав! И только после того как я пару раз сегодня перебил этот код то понял где совершаю ошибку!
Спасибо ребят!.
Как говорится! Повторение мать ученья
Приступаю к следующему уроку!
Всё дело в том что я обработчик создавал в обработчике Естественно он не мог понять что я от него хочу "math64" отчасти был прав! И только после того как я пару раз сегодня перебил этот код то понял где совершаю ошибку!
Спасибо ребят!.
Как говорится! Повторение мать ученья
Приступаю к следующему уроку!
зачем два OnClickListener
в джава знаю есть
if (event.getSource() == item1)
как в андройде сделать проверку..какая кнопка была нажата ?
if (event.getSource() == item1)
как в андройде сделать проверку..какая кнопка была нажата ?
Re: зачем два OnClickListener
В обработчик нажатия передается объект View из которого можно, к примеру, взять ID нажатой кнопки.Quver писал(а):в джава знаю есть
if (event.getSource() == item1)
как в андройде сделать проверку..какая кнопка была нажата ?
Код: Выделить всё
public void onClickStart(View v) {
if (v.getId()==R.id.item1)...
}