[JAVA] [Android] Erstellen Sie eine neue Klasse, indem Sie ImageView erben

Zusammenfassung

Ich wollte eine Methode hinzufügen, um eine Animation in "ImageView" zu blinken. Ich möchte es blinken lassen, indem ich einfach ".blink ()" aufrufe, ohne dem Benutzer die Implementierung zum Blinken zu geben.

Implementieren Sie daher eine neue Klasse, die "ImageView" erbt, und fügen Sie eine neue Methode hinzu.

Implementierung

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() {
      //Wenn Sie hier irgendwelche Vorbereitungen haben
    }

    public void blink(int durationMillis) {
      //Implementierung zum Blinken
      // getContext()Kann Kontext mit bekommen
    }
}

Überschreiben Sie drei Konstruktoren mit "public". Ich habe "public" vergessen und viel Zeit verbracht.

Die Implementierung zum Blinken ist nicht das Hauptthema, daher werde ich sie hier nicht schreiben.

Sie können so in XML schreiben. Die Attribute sind angemessen.

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" />

Referenz

In einigen Fällen werden nicht alle Konstruktoren überschrieben. Ich mache mir Sorgen, ob es in Zukunft in Ordnung ist, also habe ich beschlossen, alles außer Kraft zu setzen.

Recommended Posts

[Android] Erstellen Sie eine neue Klasse, indem Sie ImageView erben
Erstellen Sie eine temporäre Klasse mit new Object () {}
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
So erstellen Sie eine Klasse, die Klasseninformationen erbt
So erstellen Sie eine Methode
[Android] Erstellen Sie einen Kalender mit GridView
Vorbereiten der Erstellung einer Rails-Anwendung
Android-Entwicklung - Versuchen Sie, einen Dialog aufzurufen.
Erstellen Sie eine neue App mit Rails
Versuchen Sie, eine Server-Client-App zu erstellen
[Kotlin / Android] Erstellen Sie eine benutzerdefinierte Ansicht
So erstellen Sie ein neues Gradle + Java + Jar-Projekt in Intellij 2016.03
Einfache Möglichkeit zum Erstellen einer Zuordnungsklasse bei Verwendung der API
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
So fügen Sie einen neuen Hash / Array hinzu
So erstellen Sie ein Maven-Repository für 2020
Android Drücken Sie einfach eine Taste
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
[Rails] So erstellen Sie eine Teilvorlage
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
Haben Sie ein Werkzeug zum Erstellen und Öffnen einer neuen Leinwand in der Mac-Vorschau
[Android] Ich möchte einen ViewPager erstellen, der für Tutorials verwendet werden kann
Beachten Sie, dass Junit 4 zu Android Studio hinzugefügt wurde
So erstellen Sie überall eine H2-Datenbank
Verwandeln Sie sich von einer normalen Klasse in einen Lambda-Stil
[Android] Erstellen Sie ein Schiebemenü ohne Verwendung der Navigationsansicht
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
[Android] So konvertieren Sie eine Zeichenfolge in resourceId
Versuchen Sie, ein Bulletin Board in Java zu erstellen
So erstellen Sie Pagenationen für das "Kaminari" -Array
[Android] Implementieren Sie schnell die Funktion zum Anzeigen des Passworts
So konvertieren Sie einen Soliditätsvertrag in eine Java-Vertragsklasse
Ich habe versucht, eine LINE-Klon-App zu erstellen
So erstellen Sie ein Thema in Liferay 7 / DXP
[1.] So erstellen Sie ein Spring-MVC-Framework-Projekt
So erstellen Sie einfach ein Pulldown mit Rails
[Android] Zwei Möglichkeiten, einen Bluetooth-Adapter zu erhalten
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
Bitmap zu groß, um in eine Textur hochgeladen zu werden, die versucht, eine große Bitmap in der Android ImageView festzulegen
[Einführung] Erstellen Sie eine Ruby on Rails-Anwendung
3. Erstellen Sie eine Datenbank für den Zugriff über das Webmodul
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Ich möchte eine Methode einer anderen Klasse aufrufen
[Android / Java] Richten Sie eine Schaltfläche ein, um zu Fragment zurückzukehren
So erstellen Sie eine JDBC-URL (Oracle Database, Thin)
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
Wenn es einen Statusübergang gibt, erstellen wir eine Statusklasse
Was tun, wenn Sie versehentlich ein Modell erstellen?
Ein Memorandum beim Versuch, eine GUI mit JavaFX zu erstellen
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
So erstellen Sie einen Daten-URI (base64) in Java
Erstellen Sie einen Docker-Container, um EPS in eine PGF-Quelle zu konvertieren
Erstellen und Ausführen von Methoden-, Proc- und Methodenklassenobjekten
[Apple-Abonnementangebot] So erstellen Sie eine Signatur für ein Werbeangebot
[Einführung in die Android App-Entwicklung] Machen wir einen Zähler
Punkt 25: Beschränken Sie Quelldateien auf eine einzelne Klasse der obersten Ebene
[Java] So unterbrechen Sie eine Zeile mit StringBuilder