2014-09-18 2 views
-1

У меня возникла проблема с быстрой сменой изображений при нажатии. Я сделал кнопку изображения. Я хочу изменить изображение при нажатии кнопки и назад к предыдущему изображению. Я много искал, но не мог найти решение.быстрое изменение изображений в java android

public class Buttonone extends Activity { 
    ImageButton btonImage; 
    boolean isPressed = true; 
    MediaPlayer mp; 
    boolean isPlay = false; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.button_one); 

     btonImage = (ImageButton) findViewById(R.id.btonImage); 
     btonImage.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       playSound();toggleImage(); 
       } 

     }); 
    } 

    private void toggleImage() { 
     // TODO Auto-generated method stub 
     btonImage.setImageResource(R.drawable.image2); 
    } 
} 

это расположение XML для кнопки изображения

<ImageButton 
android:id="@+id/btonImage" 
android:layout_width="wrap_content" 
android:layout_height="fill_parent" 
android:layout_alignParentLeft="true" 
android:layout_centerVertical="true" 
android:contentDescription="@null" 
android:background="#080808" 
android:src="@drawable/image1" /> 
+0

Каково текущее поведение вашего кода? –

+0

Как именно вы хотите изменить изображение? Изменить цвет изображения? размер? пиксели? использовать некоторые фильтры? «Изменение» слишком общее – user2235615

+0

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

ответ

2

Установите СРК в растяжимой, как этот

<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/imgButtonBack"/> 

И создать файл с именем imgButtonBack.xml в вытяжке папку и установить следующий код

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@android:drawable/presence_video_away" 
     android:state_pressed="true" /> 
    <item android:drawable="@android:drawable/presence_audio_busy" 
     android:state_focused="true" /> 
    <item android:drawable="@android:drawable/presence_audio_busy" /> 
</selector> 

Изменить изображение в соответствии с вашими потребностями

+0

no не решает проблему, изменения изображения, но предыдущее изображение не возвращается. –

+1

положите изображение мыши в последний раз, когда присутствует 'presence_audio_busy', и поместите изображение мыши в android: state_pressed =" true ". Теперь на кнопке будет отображаться изображение мыши, и при нажатии будет отображаться изображение мыши, а когда и выйдет, как мышь снова – Panther

+0

да это сработало СПАСИБО. –

0

setContentView (R.layout.button_one);

Это ваша проблема. Вы должны установить весь макет и обработать событие click!

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