web-dev-qa-db-fra.com

Comment créer un bouton image sous Android?

Je suis donc novice dans le développement Android ... Comment créer une image qui se comporte comme un bouton; ainsi, lorsque j'appuie sur cette image, celle-ci démarre une activité spécifique. Donc, je veux que cela apparaisse comme image:

 <Button
    Android:id="@+id/button1"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentTop="true"
    Android:layout_marginTop="33dp"
    Android:text="Button" />
11
user1414682

Créez ImageButton en tant que:

Dans main.xml:

<ImageButton Android:id="@+id/ib"
    Android:src="@drawable/bookmark" <-- SET BUTTON IMAGE HERE -->
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
/>

Dans la partie code:

ImageButton ib=(ImageButton)findViewById(R.id.ib);
ib.setOnClickListener(ibLis);
    }
    private OnClickListener ibLis=new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //START YOUR ACTIVITY HERE AS
             Intent intent = new Intent(YOUR_CURRENT_ACTIVITY.this,NextActivity.class);
             startActivity(intent, 0);
        }
    };

EDIT:

et la deuxième option si vous souhaitez créer une image semblable à un bouton à l’aide de la vue Bouton puis de la création d’un bouton personnalisé en tant que:

Commencez par placer toutes vos images comme pour les images pressées, focalisées et par défaut dans le dossier res/drawable, puis ajoutez un newbtn.xml dans drawable/newbtn.xml en tant que:

<?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/button_pressed" /> <!-- pressed -->  
    <item Android:state_focused="true"  
          Android:drawable="@drawable/button_focused" /> <!-- focused -->  
    <item Android:drawable="@drawable/button_normal" /> <!-- default -->  
</selector>

Enfin, dans le bouton XML, définissez Android:background comme:

<Button    
    Android:id ="@+id/btn"  
    Android:layout_width="wrap_content"   
    Android:layout_height="wrap_content"   
    Android:text="Hello"  
    Android:textColor="#ffffffff"  
    Android:background="@drawable/newbtn"   <-- get button background to selector -->
    /> 

Voir ce tutoriel pour créer un bouton personnalisé avec des images

Création de boutons personnalisés sur Android

22
ρяσѕρєя K

Avec l'élément ImageView, attachez-lui un écouteur de clic.

Le XML:

<ImageView
    Android:id="@+id/myImageView"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:src="@drawable/myPic" 
    />

Le code:

ImageView imageView = (ImageView) findViewById(R.id.myImageView);
imageView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(ThisActivity.this, MyOtherActivity.class);
        startActivity(intent);
    }
});

Vous pouvez également utiliser un ImageButton (de la même manière). Cela ne fait presque aucune différence. Vous pouvez voir plus de détails ici. Différence entre un ImageView et un bouton Image cliquables

1
Ixx

C'est une complication excessive d'utiliser "setOnClickListener ()". À la place, utilisez la propriété 'onClick' dans XML:

<ImageButton
    Android:id="@+id/button19"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:background="@Android:color/transparent"
    Android:onClick="yourCallback"
    Android:src="@drawable/your_image"
/>

public void yourCallback(View view) 
{
    ...
}
0
Tim Cooper