Wygląda na to, że popularne sposoby wykrywania kształtu ekranu w Moto 360 nie działają poprawnie.Wykryj, że Moto 360/kształt pierścienia i onApplyWindowInsetListener nie są wywoływane
wiem, istnieją doniesienia mówiące, że windowInset.isRound()
zwraca false w Moto 360.
Obecnie mój kod jest następujący
WatchViewStub viewStub = new WatchViewStub(this);
viewStub.setRoundLayout(com.pizzaentertainment.weatherwatchface.R.layout.bau);
viewStub.setRectLayout(com.pizzaentertainment.weatherwatchface.R.layout.bau_rect);
viewStub.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
@Override
public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
Log.d("ISWHAT?", "ASD" +windowInsets.isRound());
return windowInsets;
}
});
addContentView(viewStub, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
viewStub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub watchViewStub) {
Log.d("INFLATED", "INFLATED");
}
});
Moim głównym problemem jest to, że nigdy nie jest wywoływana onApplyWindowInsets
zarówno na moim LG G watch i Samsung Galaxy Gear Live. Zrobiłem test z użytkownikiem 360 i, zgodnie z testem, ta metoda również nie zostanie wywołana na jego urządzeniu.
- Dlaczego nie jest wywoływany
OnApplyWindowInsetListener
? - Dlaczego ludzie, którzy otrzymali zgłoszenie do oddzwonienia, informują, że
windowInset.isRound()
zwraca wartość false w Moto 360? - Jak mamy rozpoznać Moto 360 (i przyszłe z okrągłym kształtem)? Od
Build.MODEL
?
Wygląda na to, że to obejście również nie działa. –
Co masz na myśli, że to nie działa? Jeśli GridViewStub załaduje poprawny układ okrągły lub kwadratowy, zadziała, ponieważ używam go w ten sposób, a na ekranie kwadratowym ładuje kwadratowy układ. Nie mogę przetestować, jaki układ ładuje się na Moto 360, więc czy twoje oświadczenie oznacza, że nie ładuje prawidłowego układu? –
Dokładnie ... Moto 360 nie ładuje prawidłowego układu. –