Chciałbym uzyskać identyfikator klawiatury miękkiejAndroid w celu określenia wysokości klawiatury. Celem końcowym jest to, że chcę przesunąć widok na ekranie w pionie, aby był wyśrodkowany pomiędzy górną krawędzią klawiatury a spodem paska stanu. Mogę uzyskać wysokość paska stanu z następującym kodem:
int statusBarHeight = 0;
int resourceId = Resources.GetIdentifier("status_bar_height", "dimen", "android");
if(resourceId > 0) {
statusBarHeight = Resources.GetDimensionPixelSize(resourceId);
}
Czy mogę uzyskać wysokość miękkiej klawiatury ww podobny sposób? Korzystam z Xamarin, ponieważ udostępniam backend między aplikacją na iOS i aplikacją na Androida, ale kod wydaje się podobny do Androida. Również tworzę poglądy w całości w kodzie, co wolę; więc moje pytanie brzmi: w jaki sposób mogę uzyskać wysokość klawiatury w kodzie w celu ustawienia widoku w kodzie?
Odpowiedzi:
0 dla odpowiedzi № 1Możesz to zrobić za pomocą ViewTree Observer. W widoku głównym będziesz mógł obliczyć nowy rozmiar, gdy pojawi się klawiatura.
Poniższe pytanie może ci pomóc, ponieważ pomogło mi:
Czy w Androidzie jest jakikolwiek sposób na uzyskanie wysokości wirtualnej klawiatury urządzenia?