0

Momentan habe ich ein AppBarLayout mit einem CollapsingToolbarLayout im Inneren und ich habe einen OffSetChangeListener hinzugefügt, sodass ich den Dropdownpfeil in meiner Appbar drehen kann, wenn die Aktionsleiste erweitert wird Ich brauche den maximalen vertikalen Versatz, um die Grade für die Drehung berechnen zu können, und sie wird im Listener nicht als Argument bereitgestellt. Dies ist mein Code:So erhalten Sie den maximalen vertikalen Versatz des minimierten Symbolleistenlayouts

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { 
    @Override 
    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { 
     int slideOffset = verticalOffset*(-1); 
     int slideOffsetMax = 750; 

     int angle = slideOffset * 180/slideOffsetMax; 
     dropdownArrow.setRotation(angle); 

    } 

}); 

Das Problem ist die maximale vertikale Versatz variiert je nach Gerät, aber wenn jemand einen anderen Weg, dies mir zu zeigen, das Gefühl zu erreichen, frei. PS: Ich habe meinen maximalen Offset auf 750 gesetzt, weil ich den Offset protokolliert habe, um das Maximum für mein Gerät zu finden, aber auf meinem Tablet ist es anders.

Antwort

4

Verwendung:

die scrollrange Ihrer AppBarLayout zu erhalten und Ihre Berechnungen tun.

+0

hat den Trick gemacht, danke –