Soru & Cevap

Butona Tıklandığında renk değişmiyor. ...

22.10.2015 - 07:05

Merhaba, Android uygulamamı tamamlamadan önce tasarımını titizlikle yapmaya çalışıyorum. Takıldığım konu ise tanımladığım ImageButtonlara tıklandığında renginin değişmemesi tıklanmamış gibi duruyor. Araştırdım bir sonuca varamadım yardımlarınız için şimdiden teşekkürler

56 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-46518-1428343928.jpg
halitpeker
22.10.2015 - 09:50

Analdığım kadarıyla tıkladığında renk değişsin tıklama bittiğinde eski renhhine dönsün.

Bunun için ilk olarak renklerini tanımla 

colors.xml olustur ve içine renklerini yaz mesela

<color name="beyaz">#fff</color>
<color name="CornFlowerBlue">#6495ED</color>

drawable klasorne bir tane xml olustur

button_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/siyah" android:state_pressed="true"></item>
    <item android:drawable="@color/siyah" android:state_focused="true"></item>
    <item android:drawable="@color/MediumPurple" android:state_enabled="true" android:state_focused="false" android:state_pressed="false"></item>
    <item android:drawable="@color/siyah" android:state_enabled="false"></item>
</selector>

son olarak butonuna git ve background unu olousturgun xml olarak göster.

android:background="@drawable/button_selector"

 

Erdinç
22.10.2015 - 01:23
Çok teşekkür ederim istediğimde zaten tam olarak buydu. Dikkatimi çeken noktalardan biri de xml den ImageButtontanımlarken; android:focusable="true" android:focusableInTouchMode="true" gibi ayar yapabiliyoruz. Bu şekilde yapıldığını sanıyordum ama cevap sizinkiymiş :)
picture-19298-1459404577.jpg
alper_beyler
22.10.2015 - 09:43

Merhabalar click eventinde bu fonksiyonu çalıştırmayı denermisin ?

public void changeColor(View view){
   ImageButton image_bttn = (ImageButton) findViewById(R.id.btn1);
   image_bttn.setBackgroundColor(Color.GREEN); // rengi değiştir
}

 

picture-36644-1418237484.jpg
gizemnuryurdagul
22.10.2015 - 09:40

Bu şekilde deneyebilirsiniz.

imagebutton= (ImageButton) findViewById(R.id.imageButton);

imagebutton.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

imagebutton.setBackgroundColor(Color.parseColor("#4CB8FB"));;

}

});

}