Wiem, jak uzyskać widok główny za pomocą View.getRootView () . Jestem również w stanie uzyskać widok ze onClick
zdarzenia przycisku, w którym argumentem jest Widok . Ale jak mogę uzyskać widok w działaniu ?
android
android-activity
view
Lalith
źródło
źródło
setContentView()
a podany widok jest już katalogiem głównym. Jeśli potrzebujesz uchwytu tego widoku, po prostu umieść go w XAML ifindViewById()
będzie dobrze.Odpowiedzi:
Jeśli potrzebujesz widoku głównego swojej aktywności (abyś mógł tam dodać swoją zawartość), użyj
Zgłoszono również, że na niektórych urządzeniach trzeba używać
zamiast.
Należy pamiętać, że jak poinformował Booger, może to być za paskiem nawigacji (z przyciskiem Wstecz itp.) Na niektórych urządzeniach (ale wydaje się, że na większości urządzeń tak nie jest).
Jeśli chcesz zobaczyć widok dodany do swojej aktywności za pomocą
setContentView()
metody, to jak napisałeś pottedmeat, możesz użyćAle lepiej po prostu ustaw identyfikator dla tego widoku w układzie XML i użyj tego identyfikatora.
źródło
To jest to, czego używam, aby uzyskać widok główny znaleziony w pliku XML przypisanym z
setContentView
:źródło
ActionBar
również?Testowałem to w Androidzie 4.0.3, tylko:
dać taki sam pogląd, co otrzymujemy
i
dając swojemu dziecku
Proszę potwierdzić.
źródło
Uzyskaj widok root z bieżącej aktywności.
W ramach naszej działalności możemy uzyskać
root
widok z:lub
źródło
W Kotlinie możemy to zrobić nieco krócej:
źródło
Po prostu incydent Ktoś potrzebuje łatwiejszego sposobu:
Poniższy kod przedstawia widok całej aktywności:
View v1 = getWindow().getDecorView().getRootView();
Aby uzyskać widok certian w działaniu, na przykład imageView wewnątrz działania, wystarczy dodać identyfikator tego widoku, który chcesz uzyskać:
Mam nadzieję, że to komuś pomoże
źródło
findViewById(R.id.imageView1);
aktywność, jeśli chcesz mieć konkretny widok.anyview.getRootView();
będzie najłatwiejszym sposobem.źródło
Rozwiązanie przedłużające Kotlin
Użyj tego, aby uprościć dostęp do działania. Następnie możesz bezpośrednio odnieść się do
rootView
działania lubactivity.rootView
poza nim:Jeśli chcesz dodać to samo dla Fragmentów dla spójności, dodaj:
źródło
, aby uzyskać widok bieżącej aktywności
w dowolnym onClick dostaniemy „Widok widoku”, używając „widok” pobierz rootView.
View view = view.getRootView ();
i uzyskać fragment w widoku
View view = FragmentClass.getView ();
źródło
jeśli jesteś w działaniu, załóż, że istnieje tylko jeden widok główny, możesz go uzyskać w ten sposób.
możesz rzucić to na swoją prawdziwą klasę
lub możesz użyć
zauważ, że obejmie to widok paska akcji, twój widok znajduje się poniżej widoku paska akcji
źródło
Activity
klasie nie ma takiej metody .Dla tych z was, którzy korzystają z Biblioteki wiązania danych , aby uzyskać źródło bieżącej aktywności, wystarczy użyć:
A dla użytkowników Kotlin jest to jeszcze prostsze:
źródło
Kolejne rozwiązanie rozszerzenia Kotlin
Jeśli widok twojej aktywności jest zadeklarowany w xml (ex
activity_root.xml
), otwórz xml i przypisz identyfikator do widoku głównego:Teraz w swojej klasie zaimportuj widok, używając:
Możesz teraz używać
root_activity
jako widoku.źródło