[JAVA] Android Donner facilement une «pression» sur un bouton

Comment donner facilement la sensation d'appuyer sur un bouton ou un bouton Image sur Android

image3.jpg

  1. Créez les deux classes Java suivantes et ajoutez-les à votre projet.

PushButton.java


package *****nom du paquet*****;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.Button;

/***Bouton d'effet à pousser***/
public class PushButton extends Button {
    public PushButton(Context context) {
        super(context);
    }

    public PushButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void setPressed(boolean pressed) {
        if(pressed){
            this.setScaleY(0.92f);
            this.setScaleX(0.96f);
        }else{
            this.setScaleY(1.0f);
            this.setScaleX(1.0f);
        }
        super.setPressed(pressed);
    }

}

AlphaButton.java


package *****nom du paquet*****;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.Button;

/***Bouton d'effet semi-transparent***/
public class AlphaButton extends Button {
    public AlphaButton(Context context) {
        super(context);
    }

    public AlphaButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void setPressed(boolean pressed) {
        if(pressed){
            this.setAlpha(0.75f);
        }else{
            this.setAlpha(1.0f);
        }
        super.setPressed(pressed);
    }

}
  1. Ensuite, placez un bouton personnalisé au lieu de "Bouton" dans le format XML ・ Exemple de mise en page

layout.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainframe"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000">

    <!---Bouton qui rétrécit lorsqu'il est enfoncé-->
    <*****nom du paquet*****.PushButton
        android:id="@+id/button_sample01"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button_sample"
        />

    <!---Bouton semi-transparent lorsqu'il est enfoncé-->
    <*****nom du paquet*****.AlphaButton
        android:id="@+id/button_sample02"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button_sample"
        />
</LinearLayout>

c'est tout

Recommended Posts

Android Donner facilement une «pression» sur un bouton
[Android] Comment détecter le changement de volume (= pression sur le bouton de volume)
[Android / Java] Configurer un bouton pour revenir à Fragment
Développement Android-Essayez d'afficher une boîte de dialogue-
Notez que Junit 4 a été ajouté à Android Studio
[Android] Créez une nouvelle classe en héritant d'ImageView
[Android] Implémentez rapidement la fonction pour afficher le mot de passe
Comment créer facilement un pull-down avec des rails
[Android] Deux façons d'obtenir un adaptateur Bluetooth
[Rails] Comment créer un bouton de partage Twitter
[Introduction au développement d'applications Android] Faisons un compteur
Comment effectuer un processus spécifique lorsque le bouton de retour est enfoncé dans le fragment Android
Introduction à la mise en page Android
Comment faire une capture d'écran avec l'émulateur Android Studio
Comment mettre en œuvre facilement les achats intégrés à l'aide d'itemsstore <Implémentation: Android>
J'ai essayé d'ajouter une ligne de séparation à TabLayout sur Android
Je suis heureux d'avoir une méthode pour faire clignoter les caractères sur Android
Je veux donner un nom de classe à l'attribut select
Ajouter une ombre au bouton Swift (et aussi au cercle)