android仿微博头像_仿微博点击头像加载动画
預覽圖
原理
整個效果分成兩部分。一部分為弧度動畫,一部分為點點動畫
弧度動畫就是畫弧線,動畫改變弧度就可以了
點點動畫比較復雜。總共分為兩步,1.計算非弧線的地方可以容納的點點個數,然后畫出來;2.根據弧度的改變確定點點的寬度
最后讓整個旋轉起來 OK
使用
自定義的屬性
c_progressColor : 進度條的顏色
c_strokeWidth : 進度條的寬度
c_autoRunning :自動開始旋轉
c_atOnceEnd :true調用reset后立刻結束動畫,false會等到動畫執行完后結束
1.作為進度加載使用
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginTop="16dp"
app:c_progressColor="@color/colorAccent"
app:c_strokeWidth="5dp" />
2.配合頭像使用
layout文件
android:id="@+id/headerLayout"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginTop="16dp"
android:background="#00ff00">
android:id="@+id/loadingProgress"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:c_atOnceEnd="true"
app:c_autoRunning="false"
app:c_progressColor="@color/colorPrimaryDark"
app:c_strokeWidth="3dp" />
class="de.hdodenhof.circleimageview.CircleImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="6dp"
android:src="@mipmap/header" />
activity中代碼中這是點擊時點用start(), 這里模擬網絡加載7s后調用reset
headerLayout.setOnClickListener {
loadingProgress.start()
headerLayout.postDelayed({
loadingProgress.reset()
} , 7000)
}
3.事件回調
fun onProgressStartListener(progress: LoadingProgress) //開始旋轉
fun onProgressRepeatListener(progress: LoadingProgress) //每個周期結束的時候調用
fun onProgressResetListener(progress: LoadingProgress) //重置的回調事件
fun onProgressEndListener(progress: LoadingProgress ) //動畫結束回調
總結
以上是生活随笔為你收集整理的android仿微博头像_仿微博点击头像加载动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中如何安装特定的gcc版本
- 下一篇: ChatGLM-6B 安装试用