Bonsoir,
j'ai crée un bouton et j'ai mis une image en background de ce dernier,quand j’exécute mon programme le bouton devient non cliquable vraiment je ne sais pas pourquoi!!! est ce quelqu'un a une idée?
Merci d'avance pour vos réponses
Bonsoir,
j'ai crée un bouton et j'ai mis une image en background de ce dernier,quand j’exécute mon programme le bouton devient non cliquable vraiment je ne sais pas pourquoi!!! est ce quelqu'un a une idée?
Merci d'avance pour vos réponses
bien-sur avec plaisir voila le code xml de mon bouton:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <Button android:id="@+id/calcul" android:layout_width="80dip" android:layout_height="42dp" android:layout_alignParentBottom="true" android:text="Login" android:layout_alignParentRight="true" android:background="@drawable/aa" android:textColor="#FFFFFF" />
Et dans ton activité , sur le bouton tu le dit bien d'écouter l'évènement au click?
avec setOnClickListener ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 import android.os.Bundle; import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { ImageView animation; Button dd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dd = (Button) findViewById(R.id.calcul); dd.setClickable(true); setOnclickListeners(); } private void setOnclickListeners() { dd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("clicked"); Toast.makeText(MainActivity.this,"fgd",Toast.LENGTH_SHORT).show(); } }); } }
Ah je vois que tu n'a pas encore compris la notion d'évènement.
L'évènement tu veux le mettre sur ton object (Button) dans ce cas il faut que tu dise à ton object qu'il doit être écouter .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class MainActivity extends Activity { ImageView animation; Button dd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dd = (Button) findViewById(R.id.calcul); dd.setOnclickListeners(this); } private void setOnclickListeners() { dd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("clicked"); Toast.makeText(MainActivity.this,"fgd",Toast.LENGTH_SHORT).show(); } }); } }
Met ton code entre les balises pour que sa soit plus lisible
quand je clique sur le bouton sa déclenche correctement l'événement et le message s'affiche dans le toast mais le problème que le bouton n'est pas cliquable
Il est bien clickable si tu as eu le toast !!
Si tu veux vraiment sur ce bouton tu dois tester l'id du bouton!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class MainActivity extends Activity { ImageView animation; Button dd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dd = (Button) findViewById(R.id.calcul); dd.setOnclickListeners(this); } private void setOnclickListeners() { dd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int id = v.getId(); if(id == R.id.calcul) { System.out.println("clicked"); Toast.makeText(MainActivity.this,"fgd",Toast.LENGTH_SHORT).show(); } } }); } }
c'est pas ça mon problème je crois que j'ai pas bien expliqué
l’événement fonctionne et le message s'affiche mais quand j'appuie sur le bouton c'est comme j'ai pas appuyer(avant de mettre une image en background de bouton quand j'appuie sur le bouton ça devient jaune mais quand j'ai mis une image en background le bouton ne change pas de couleur)
Le drawable "aa" est bien un selector vers une image différente selon que le bouton est "pressed" ou non ?
Merci pour vos réponse
pour que le bouton change de couleur lorsque on on clique dessus On doit utiliser un type de drawable les state listes.
voila le code xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:state_pressed="true"
android:drawable="@drawable/pressed" />
<item android:drawable="@drawable/number" />
</selector>
voila le code java:
dd.setBackgroundResource(R.drawable.aml);
avec dd le nom de bouton et aml le nom de fichier xml(le state liste)crée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager