Android 自定義View之3D骰子Loading 動畫

你可以指定立方體中每一面骰子的點數,顏色和背景,同時也可以指定執(zhí)行的動畫時間和動畫插值器

使用

在根目錄的build.gradle添加這一句代碼:

allprojects {    repositories {        //...        maven { url 'https://jitpack.io' }    }}

在app目錄下的build.gradle添加依賴使用

dependencies {    implementation 'com.github.samlss:DiceLoadingView:1.0'}

在開始介紹DiceLoadingView之前,先看一下骰子即DeiceView的組成

DiceView

在DiceLoadingView中應用的骰子view

以下為效果圖:

布局中:

<com.iigo.library.DiceView            android:layout_marginTop="10dp"            app:number="one"            app:bgColor="@android:color/white"            app:borderColor="@color/colorPrimary"            app:pointColor="@color/colorPrimary"            android:layout_width="50dp"            android:layout_height="50dp" />

代碼:

diceView.setNumber(2); //設置骰子點數,必須為1-6diceView.setPointColor(Color.RED); //設置點的顏色diceView.setBgColor(Color.RED); //設置背景顏色diceView.setBorderColor(Color.RED); //設置邊界顏色

屬性說明:

開始描述效果圖之前,先看一張說明圖:

DiceLoadingView

布局中使用:

<com.iigo.library.DiceLoadingView                    android:id="@+id/dlv_loading1"                    app:animDuration="2000"                    app:animInterpolator="AccelerateDecelerateInterpolator"                    app:firstSideDiceNumber="1"                    app:firstSideDicePointColor="@color/colorPrimary"                    app:firstSideDiceBgColor="@android:color/white"                    app:firstSideDiceBorderColor="@color/colorPrimary"                    app:secondSideDiceNumber="2"                    app:secondSideDicePointColor="@android:color/holo_orange_dark"                    app:secondSideDiceBgColor="@android:color/white"                    app:secondSideDiceBorderColor="@android:color/holo_orange_dark"                    app:thirdSideDiceNumber="3"                    app:thirdSideDicePointColor="@android:color/holo_red_dark"                    app:thirdSideDiceBgColor="@android:color/white"                    app:thirdSideDiceBorderColor="@android:color/holo_red_dark"                    app:fourthSideDiceNumber="4"                    app:fourthSideDiceBgColor="@android:color/white"                    app:fourthSideDiceBorderColor="@android:color/holo_green_dark"                    app:fourthSideDicePointColor="@android:color/holo_green_dark"                    android:layout_width="50dp"                    android:layout_height="50dp" />

代碼中使用:

diceLoadingView.start(); //開始動畫diceLoadingView.stop(); //停止動畫diceLoadingView.pause(); //暫停動畫diceLoadingView.resume(); //恢復動畫diceLoadingView.release(); //不需要使用該loading view的時候可手動釋放,例如在activity的ondestroy()中diceLoadingView.setDuration(3000); //設置動畫時間diceLoadingView.setInterpolator(new AnticipateOvershootInterpolator()); //設置動畫插值器diceLoadingView.setFirstSideDiceNumber(2); //設置第一面骰子點數(1-6)diceLoadingView.setFirstSidePointColor(Color.parseColor("#FF7D81")); //設置第一面骰子點的顏色diceLoadingView.setFirstSideDiceBgColor(Color.WHITE); //設置第一面骰子背景顏色diceLoadingView.setFirstSideDiceBorderColor(Color.GRAY); //設置第一面骰子邊界顏色diceLoadingView.setSecondSideDiceNumber(3); //設置第二面骰子點數(1-6)diceLoadingView.setSecondSidePointColor(Color.BLUE); //設置第二面骰子點的顏色diceLoadingView.setSecondSideDiceBgColor(Color.WHITE); //設置第二面骰子背景顏色diceLoadingView.setSecondSideDiceBorderColor(Color.BLUE); //設置第二面骰子邊界顏色diceLoadingView.setThirdSideDiceNumber(4); //設置第三面骰子點數(1-6)diceLoadingView.setThirdSidePointColor(Color.GREEN); //設置第三面骰子點的顏色diceLoadingView.setThirdSideDiceBgColor(Color.WHITE); //設置第三面骰子背景顏色diceLoadingView.setThirdSideDiceBorderColor(Color.GREEN); //設置第三面骰子邊界顏色diceLoadingView.setFourthSideDiceNumber(5); //設置第四面骰子點數(1-6)diceLoadingView.setFourthSidePointColor(Color.RED); //設置第四面骰子點的顏色diceLoadingView.setFourthSideDiceBgColor(Color.WHITE); //設置第四面骰子背景顏色diceLoadingView.setFourthSideDiceBorderColor(Color.RED); //設置第四面骰子邊界顏色

屬性說明:

開始描述效果圖之前,先看兩張張說明圖:

針對立方體而言

針對每一個骰子面而言:

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 你可以指定立方體中每一面骰子的點數,顏色和背景,同時也可以指定執(zhí)行的動畫時間和動畫插值器 更多有趣的view 使用...
    Samlss閱讀 1,657評論 0 10
  • 1 CALayer IOS SDK詳解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi閱讀 5,338評論 3 23
  • 【Android 動畫】 動畫分類補間動畫(Tween動畫)幀動畫(Frame 動畫)屬性動畫(Property ...
    Rtia閱讀 6,390評論 1 38
  • 這一章主要針對項目中可以用到的一些實用功能來介紹Android Gradle,比如如何隱藏我們的證書文件,降低風險...
    acc8226閱讀 7,971評論 3 25
  • 習慣了孤獨 就像與空氣談場戀愛 風雨無常,煙消云散 預設好的伏筆難以如約開場 卻總想考究猜不到的結局 寧愿在超越距...
    郁光閱讀 303評論 0 4

友情鏈接更多精彩內容