Уменьшить толщину у ProgressBar
Стандартное поведение ProgressBar вполне устраивает, но нужно поменять толщину стандартного ProgressDrawable.
Но из коробки нет возможности это сделать (ну или я не нашел коробочного решения).
Получится должно следующее: анимация вот как здесь (пример), но толщина линии 2 раза тоньше..
Решил поменять progressDrawable
<ProgressBar
android:id="@+id/loading_spinner"
android:layout_width="113dp"
android:layout_height="113dp"
android:indeterminateDrawable="@drawable/loading_image"/>
loading_image:
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:useLevel="true">
<vector
android:width="113dp"
android:height="113dp"
android:viewportWidth="113"
android:viewportHeight="113">
<path
android:fillColor="#000"
android:pathData="M109.78 68c0.8-3.7 1.22-7.55 1.22-11.5C111 26.4 86.6 2 56.5 2S2 26.4 2 56.5c0 27.56 20.45 50.33 47 53.99v2.02C21.34 108.84 0 85.16 0 56.5C0 25.3 25.3 0 56.5 0S113 25.3 113 56.5c0 3.94-0.4 7.79-1.17 11.5h-2.05z" />
</vector>
</rotate>
Но как следовало ожидать, анимация "деревянная", просто крутится картинка. Собственно вопрос:
- Можно ли просто уменьшить толщину стандартного
ProgressDrawable? - Если ответ на первый вопрос нет, то как мне анимировать мою векторную картинку таким образом, чтобы был эффект "растягивания" линии? как в стандартной анимации(пример).
UP1. Воспользовавшись ответом от Sergei Buvaka получил вот такой результат
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="2.5"
android:shape="ring"
android:thickness="4dp"
android:useLevel="true">
<solid android:color="@color/colorPrimary" />
</shape>
Результат (почти похоже на то, что нужно)
Ответы (1 шт):
Автор решения: Sergei Buvaka
→ Ссылка
Вот вам пример стандартной кастомной крутилки:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360">
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thickness="12dp" // это и есть ваша ширина
android:thicknessRatio="50"
android:useLevel="false">
<size
android:width="76dip"
android:height="76dip" />
<gradient
android:angle="0"
android:endColor="#FDFDFD"
android:startColor="#012C42"
android:type="sweep"
android:useLevel="false" />
</shape>