你可以指定立方體中每一面骰子的點數,顏色和背景,同時也可以指定執(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); //設置第四面骰子邊界顏色
屬性說明:
開始描述效果圖之前,先看兩張張說明圖:
針對立方體而言
針對每一個骰子面而言: