2015-11-08 2 views
-1

У меня есть набор изображений, которые я хочу изменить при нажатии. Первое представление установлено по умолчанию, и я хочу, чтобы второй отображался при первом щелчке. Я также хочу, чтобы обратное произошло, когда вторая видима. Как я могу это сделать? (Пример: по умолчанию Img 1 по умолчанию, img 2 скрыт. При щелчке, img 2 показывает, img 1 скрыт. При повторном нажатии происходит обратное).Android - Измените изображение на клике

<ImageView 
android:id="@+id/img1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/ic_alarm_off_75dp" 
android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true" 
android:layout_marginTop="134dp" /> 
<ImageView 
    android:id="@+id/img2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_alarm_on_75dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:visibility="gone" 
    android:layout_marginTop="134dp" /> 
+0

где ваш код? –

+0

Добавлен код. Это только XML. Я знаю, что есть способ сделать это с Java, но я не знаю, как и не могу найти ответ. – MJonesDev

ответ

1

Используйте следующий код:

ImageView img1=(ImageView)findViewById(R.id.img1); 
ImageView img2=(ImageView)findViewById(R.id.img2); 

     img1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       img1.setVisibility(View.GONE); 
       img2.setVisibility(View.VISIBLE); 
      } 
     }); 

     img2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       img2.setVisibility(View.GONE); 
       img1.setVisibility(View.VISIBLE); 
      } 
     }); 
+0

Спасибо! Это работает для меня :) – MJonesDev

0

в обоих кнопки OnClick вы должны проверить, если другая кнопка не видна затем установить его видимым и, если он виден, то не делать что-нибудь. вы можете проверить видимость кнопок с помощью этого кода if(mybutton.getVisibility()==View.VISIBLE) { //set visibiliy of mybutton }

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