2015-06-24 4 views
0

У меня есть номер ImageButtons в макете. Ресурсы изображения 32x32 px. Все они имеют одни и те же атрибуты:ImageButton не всегда можно щелкнуть при первом щелчке

  <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/ibButton1" 
       android:clickable="true" 
       android:focusable="false" 
       android:focusableInTouchMode="false" 
       android:layout_weight="0" 
       android:src="@drawable/not_selected" 
       android:layout_gravity="center_vertical" 
       android:background="@null"/> 

В моем фрагменте, я делаю:

final ImageButton button1 = (ImageButton)view.findViewById(R.id.ibButton1); 
    button1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      isSelected = !isSelected; 

      if (isSelected) { 
       button1.setImageResource(R.drawable.selected); 
      } 
      else { 
       button1.setImageResource(R.drawable.not_selected); 
      } 
     } 
    }); 

Однако, в большинстве случаев мне нужно нажать кнопку более 5 раз на кнопку для того, чтобы зарегистрировать нажмите ,

Должен ли я увеличить размер изображения или есть лучший способ прослушивания кликов? Должен ли я использовать атрибут onClick?

+0

Пожалуйста взгляните на мой ответ. –

ответ

3

Предоставьте некоторое дополнение, чтобы увеличить область касания.

android:padding="10dp" 
0

Возможно, размер изображения слишком мал (как сказал @Shoeb Siddique), чтобы получить событие касания на изображении. Вы можете увеличить размер или размер изображения, чтобы улучшить вероятность касания изображения.

0

Мне кажется, вам не нужен ImageButton, но ToggleButton с состояниями. http://developer.android.com/guide/topics/ui/controls/togglebutton.html

и удалите андроид: clickable = "true", это не нужно, потому что это кнопка, которая означает, что это по умолчанию. Если бы это был TextView, это было бы необходимо.

+0

Я использую ImageButton, потому что мне нужны пользовательские изображения. Я мог бы пойти с ToggleButton или Checkbox, но изображения будут больше. –

+0

ах, ладно. Я этого не знал.3 – Karoly

0

Извлечение изображения с сенсорной зоной I Mean прозрачного фона для Eg: Подарите Изображение 86 * 70 точек Итак Когда Ever Пользователь прикасается вокруг этого прозрачного фона 86 * 70px вы можете запустить событие

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^