这个就是使用Paint和Canvas一个个画上去的,再加上动画,总体来说不难,就是变量多,所以看起来的时候要慢慢看,现在在这贴下代码
布局文件:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="10px" android:paddingRight="10px" android:layout_marginTop="20px" /> <LinearLayout android:layout_width="300px" android:layout_height="300px" android:layout_marginTop="90px" android:layout_marginLeft="60px" > <com.example.speeddemo.CarRecorderView android:id="@+id/carview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#8B5F65" /> </LinearLayout> </RelativeLayout>
自定义veiw
package com.example.speeddemo; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.DashPathEffect; import android.graphics.LinearGradient; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Shader; import android.util.AttributeSet; import android.view.View; /** * Created by admin on 2016/8/28. */ public class CarRecorderView extends View { private static final String TAG = "CarRecorderView" ; private LinearGradient linearGradient = null; private Paint blackCirclePaint; private int blackCirClePaintWidth = 8; private Paint arcAnimPaint; private Paint outerAnimPaint; private Paint whiteCirclePaint ; private Paint unitTextPaint; private int whiteCirclePaintWidth = 24; private Paint outerPaint; private Paint linePaint; private Paint textValuePaint; private Paint interprogressPaint; private int lineWidth = 5; private Paint outerSmallPaint; private RectF outerRectF; private RectF outerAnimRectF ; private Bitmap carBitmap; private int width

这篇博客介绍如何在Android中通过Paint和Canvas来手动绘制汽车仪表盘,并结合动画效果。虽然变量较多,但整体实现并不复杂。博主分享了布局文件、自定义View的代码,并提到目前存在一些小问题,计划后续进行修复。
最低0.47元/天 解锁文章
944

被折叠的 条评论
为什么被折叠?



