[JAVA] [Android] Créez une nouvelle classe en héritant d'ImageView

Résumé

Je voulais ajouter une méthode pour faire clignoter une animation dans ʻImageView. Je veux le faire clignoter en appelant simplement .blink ()` sans donner à l'utilisateur l'implémentation pour clignoter.

Par conséquent, implémentez une nouvelle classe qui hérite de ʻImageView` et ajoutez une nouvelle méthode.

la mise en oeuvre

BlinkableImageView.java


package com.hoge_company.fooapp.widget;

import android.content.Context;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;


class BlinkableImageView extends AppCompatImageView {
    public BlinkableImageView(Context context) {
        super(context);
        initialize();
    }

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

    public BlinkableImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initialize();
    }

    protected void initialize() {
      //Si vous avez des préparatifs ici
    }

    public void blink(int durationMillis) {
      //Mise en œuvre pour clignoter
      // getContext()Peut obtenir du contexte avec
    }
}

Remplacez trois constructeurs par public. J'ai oublié «public» et j'ai passé beaucoup de temps.

L'implémentation du clignotement est hors du sujet principal, je ne l'écrirai donc pas ici.

Vous pouvez écrire en XML comme ceci. Les attributs sont appropriés.

activity_main.xml


<com.hoge_company.fooapp.widget.BlinkableImageView
            android:id="@+id/foo_image"
            android:visibility="invisible"
            android:scaleType="fitCenter"
            android:adjustViewBounds="false"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />

référence

Dans certains cas, tous les constructeurs ne sont pas surchargés, Je m'inquiète si ça va à l'avenir, alors j'ai décidé de tout ignorer.

Recommended Posts

[Android] Créez une nouvelle classe en héritant d'ImageView
Créez une classe temporaire avec le nouvel Object () {}
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
Comment créer une classe qui hérite des informations de classe
Comment créer une méthode
[Android] Créer un calendrier à l'aide de GridView
Préparation à la création de l'application Rails
Développement Android-Essayez d'afficher une boîte de dialogue-
Créer une nouvelle application avec Rails
Essayez de créer une application client serveur
[Kotlin / Android] Créer une vue personnalisée
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Un moyen simple de créer une classe de mappage lors de l'utilisation de l'API
[Rails6] Créer une nouvelle application avec Rails [Débutant]
Comment ajouter un nouveau hachage / tableau
Comment créer un référentiel Maven pour 2020
Android Donner facilement une «pression» sur un bouton
[Swift5] Comment créer un écran de démarrage
[rails] Comment créer un modèle partiel
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
Avoir un outil pour créer et ouvrir une nouvelle toile dans l'aperçu Mac
[Android] Je souhaite créer un ViewPager pouvant être utilisé pour les didacticiels
Notez que Junit 4 a été ajouté à Android Studio
Comment créer une base de données H2 n'importe où
Transformer d'une classe normale en un style lambda
[Android] Créer un menu coulissant sans utiliser la vue de navigation
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
[Android] Comment convertir une chaîne de caractères en resourceId
Essayez de créer un babillard en Java
Comment créer des pages pour le tableau "kaminari"
[Android] Implémentez rapidement la fonction pour afficher le mot de passe
Comment convertir un contrat de solidité en une classe de contrat Java
J'ai essayé de créer une application de clonage LINE
Comment créer un thème dans Liferay 7 / DXP
[1st] Comment créer un projet de framework Spring-MVC
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
Bitmap trop volumineux pour être téléchargé dans une texture en essayant de définir un grand Bitmap dans Android ImageView
[Introduction] Créer une application Ruby on Rails
3. Créez une base de données à laquelle accéder à partir du module Web
Comment créer un environnement Java en seulement 3 secondes
Je veux appeler une méthode d'une autre classe
[Android / Java] Configurer un bouton pour revenir à Fragment
Comment créer une URL JDBC (Oracle Database, Thin)
Comment créer un projet Spring Boot dans IntelliJ
[Spring Boot] Comment créer un projet (pour les débutants)
S'il y a une transition d'état, créons une classe State
Que faire si vous créez accidentellement un modèle
Un mémorandum lors de la tentative de création d'une interface graphique à l'aide de JavaFX
J'ai essayé de créer une compétence Clova en Java
Comment créer un URI de données (base64) en Java
Créer un conteneur Docker pour convertir EPS en source PGF
Comment créer et exécuter des objets de classe Méthode, Proc, Méthode
[Offre d'abonnement Apple] Comment créer une signature d'offre promotionnelle
[Introduction au développement d'applications Android] Faisons un compteur
Point 25: limiter les fichiers source à une seule classe de premier niveau
[Java] Comment rompre une ligne avec StringBuilder