Teraz, gdy pojawił się Android 5.0, zastanawiałem się, jak zaimplementować animowane ikony paska akcji.
Ta biblioteka tutaj implementuje ją dobrze, ale skoro biblioteka appcompat v7 ma ją, jak można ją zaimplementować?
Biblioteka odwołuje się do niego w plikach themes.xml
<item name="drawerArrowStyle">@style/Widget.AppCompat.DrawerArrowToggle</item>
W tym stylu
<style name="Base.V7.Theme.AppCompat" parent="Platform.AppCompat">
AKTUALIZACJA
Zaimplementowałem to za pomocą DrawerToggle w wersji 7. Jednak nie mogę tego stylizować. Proszę pomóż
Znalazłem jego styl w pliku v7 styles_base.xml
<style name="Base.Widget.AppCompat.DrawerArrowToggle" parent="">
<item name="color">?android:attr/textColorSecondary</item>
<item name="thickness">2dp</item>
<item name="barSize">18dp</item>
<item name="gapBetweenBars">3dp</item>
<item name="topBottomBarArrowSize">11.31dp</item>
<item name="middleBarArrowSize">16dp</item>
<item name="drawableSize">24dp</item>
<item name="spinBars">true</item>
</style>
Dodałem to do moich stylów i nie działało. Dodano również do mojego attr.xml
<declare-styleable name="DrawerArrowToggle">
<!-- The drawing color for the bars -->
<attr name="color" format="color"/>
<!-- Whether bars should rotate or not during transition -->
<attr name="spinBars" format="boolean"/>
<!-- The total size of the drawable -->
<attr name="drawableSize" format="dimension"/>
<!-- The max gap between the bars when they are parallel to each other -->
<attr name="gapBetweenBars" format="dimension"/>
<!-- The size of the top and bottom bars when they merge to the middle bar to form an arrow -->
<attr name="topBottomBarArrowSize" format="dimension"/>
<!-- The size of the middle bar when top and bottom bars merge into middle bar to form an arrow -->
<attr name="middleBarArrowSize" format="dimension"/>
<!-- The size of the bars when they are parallel to each other -->
<attr name="barSize" format="dimension"/>
<!-- The thickness (stroke size) for the bar paint -->
<attr name="thickness" format="dimension"/>
</declare-styleable>
Ale zawiesza się i wyświetla błąd typu koloru, gdy to robi. Czego mi brakuje?
mDrawerToggle.syncState();
naprawiło to.