Sembra che i metodi comuni per rilevare la forma dello schermo del Moto 360 non funzionino correttamente.Rileva Moto 360/forma circolare e onApplyWindowInsetListener non viene chiamato
So che ci sono rapporti che dicono che windowInset.isRound()
restituisce false nel Moto 360.
Attualmente il mio codice è il seguente
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");
}
});
Il mio problema principale è che il onApplyWindowInsets
mai viene chiamato sia sul mio LG Orologio G e Samsung Galaxy Gear Live. Ho fatto un test con un utente 360 e, secondo il test, anche quel metodo non viene chiamato sul suo dispositivo.
- Perché non viene chiamato
OnApplyWindowInsetListener
? - Perché le persone che hanno eseguito il callback hanno segnalato che
windowInset.isRound()
restituisce false su Moto 360? - Come dovremmo riconoscere il Moto 360 (e quelli futuri con la forma circolare)? Dal
Build.MODEL
?
Sembra che questa soluzione alternativa non funziona neanche. –
Cosa vuoi dire che non funziona? Se GridViewStub carica il layout rotondo o quadrato corretto funzionerà perché lo utilizzo in quel modo e sullo schermo quadrato carica il layout quadrato. Non riesco a testare quale layout carica su Moto 360, quindi la tua affermazione significa che non carica il layout corretto? –
Esattamente ... Moto 360 non carica il layout corretto. –