Ich weiß, wie man die Root-Ansicht mit View.getRootView() . Ich bin auch in der Lage, die Ansicht von einer Schaltfläche zu erhalten onClick
Ereignis, bei dem das Argument ein Siehe . Aber wie kann ich die ver in einem Tätigkeit ?
Antworten
Zu viele Anzeigen?Nur für den Fall, dass jemand einen einfacheren Weg braucht:
Der folgende Code gibt einen Überblick über die gesamte Aktivität:
View v1 = getWindow().getDecorView().getRootView();
Um eine bestimmte Ansicht in der Aktivität zu erhalten, z.B. eine imageView innerhalb der Aktivität, fügen Sie einfach die ID der gewünschten Ansicht hinzu:
View v1 = getWindow().getDecorView().getRootView().findViewById(R.id.imageView1);
Hoffentlich hilft das jemandem
Kotlin Extension Lösung
Verwenden Sie dies, um den Zugriff in einer Aktivität zu vereinfachen. Dann können Sie sich direkt auf rootView
aus der Aktivität, oder activity.rootView
außerhalb davon:
val Activity.rootView get() = window.decorView.rootView
Wenn Sie aus Gründen der Konsistenz dasselbe für Fragmente hinzufügen möchten, fügen Sie dies hinzu:
val Fragment.rootView get() = view?.rootView
Für diejenigen von Ihnen, die das Datenbindungsbibliothek um die Wurzel der aktuellen Aktivität zu erhalten, verwenden Sie einfach:
View rootView = dataBinding.getRoot();
Und für Kotlin-Benutzer ist es sogar noch einfacher:
val rootView = dataBinding.root