資源簡介
虛擬搖桿,上下左右控制,可控速度,可改顏色背景陰影;
虛擬按盤,上下左右控制,形狀可變圓形或橢圓;
左右拖動控制組件;

代碼片段和文件信息
package?com.bmw.customdrawabledemo;
/**
?*?Created?by?admin?on?2018/1/26.
?*/
import?android.content.Context;
import?android.graphics.Bitmap;
import?android.graphics.Canvas;
import?android.graphics.Color;
import?android.graphics.Paint;
import?android.util.AttributeSet;
import?android.util.TypedValue;
import?android.view.MotionEvent;
import?android.view.View;
import?java.util.ArrayList;
public?class?CustomPotSeekBar?extends?View?{
????private?final?String?TAG?=?“CustomSeekBar“;
????private?int?width;
????private?int?height;
????private?int?downX?=?0;
????private?int?downY?=?0;
????private?int?upX?=?0;
????private?int?upY?=?0;
????private?int?moveX?=?0;
????private?int?moveY?=?0;
????private?float?scale?=?0;
????private?int?perWidth?=?0;
????private?Paint?mPaint;
????private?Paint?mTextPaint;
????private?Paint?buttonPaint;
????private?Canvas?canvas;
????private?Bitmap?bitmap;
????private?Bitmap?thumb;
????private?Bitmap?spot;
????private?Bitmap?spot_on;
????private?int?hotarea?=?100;//點擊的熱區
????private?int?cur_sections?=?-1;
????private?ResponseOnTouch?responseOnTouch;
????private?int?bitMapHeight?=?38;//第一個點的起始位置起始,圖片的長寬是76,所以取一半的距離
????private?int?textMove?=?60;//字與下方點的距離,因為字體字體是40px,再加上10的間隔
????private?int[]?colors?=?new?int[]{0xffff9900?0x33000000};//進度條的橙色進度條的灰色字體的灰色
????private?int?textSize;
????private?int?circleRadius;
????private?ArrayList?section_title;
????private?int?mMax?=?100;
????private?ArrayList?mPotPlaces;
????private?int?mCurrentPlace?=?0;
????private?boolean?mIsUpdatePot?=?true;
????private?int?mThumbColorPre?=?Color.GRAY;
????private?int?mThumbColorCur?=?Color.RED;
????private?int?mThumbColorOld?=?0xffff9900;
????private?int?mTextColor?=?0xffff9900;
????private?int?mThumbColorMove?=?0xffff9900;
????private?int?mCurBallWidth?=?25;
????public?interface?ResponseOnTouch?{
????????void?onTouchResponse(int?progress);
????}
????public?CustomPotSeekBar(Context?context)?{
????????super(context);
????????mIsUpdatePot?=?true;
????}
????public?CustomPotSeekBar(Context?context?AttributeSet?attrs)?{
????????this(context?attrs?0);
????????mIsUpdatePot?=?true;
/*
????????mMax?=?100;
????????mPotPlaces?=?new?ArrayList<>();
????????mPotPlaces.add(12);
????????mPotPlaces.add(50);
????????mPotPlaces.add(70);
????????mPotPlaces.add(90);
????????ArrayList?list?=?new?ArrayList();
????????list.add(“ee“);
????????list.add(“dd“);
????????list.add(“ou“);
????????list.add(“ok“);*/
//????????initData(null?null);
????}
????/*??//升序排列;
???Collections.sort(arr);
????//逆序輸出
??????Collections.reverse(arr);*/
????public?CustomPotSeekBar(Context?context?AttributeSet?attrs?int?defstyleAttr)?{
????????super(context?attrs?defstyleAttr);
????????cur_sections?=?-1;
????????thumb?=?getDotBitmap(mCurBallWidth?mCurBallWidth?mThumbColorCur);
????????spot?=?getDotBitmap(16?16?mThumbColorPre);
????????spot_on?=?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????????8??2017-05-10?10:54??CustomDrawableDemo\app\.gitignore
?????文件??????12422??2018-01-26?09:28??CustomDrawableDemo\app\app.iml
?????文件????????903??2017-05-10?10:54??CustomDrawableDemo\app\build.gradle
?????文件????????654??2017-05-10?10:54??CustomDrawableDemo\app\proguard-rules.pro
?????文件????????685??2017-05-11?15:34??CustomDrawableDemo\app\src\main\AndroidManifest.xm
?????文件??????15614??2018-01-26?17:26??CustomDrawableDemo\app\src\main\java\com\bmw\customdrawabledemo\CustomPotSeekBar.java
?????文件??????22602??2018-01-26?09:38??CustomDrawableDemo\app\src\main\java\com\bmw\customdrawabledemo\DirectionButton.java
?????文件???????3388??2017-05-15?14:32??CustomDrawableDemo\app\src\main\java\com\bmw\customdrawabledemo\MainActivity.java
?????文件??????11372??2017-05-13?17:22??CustomDrawableDemo\app\src\main\java\com\bmw\customdrawabledemo\RockerButton.java
?????文件??????15551??2018-01-26?09:46??CustomDrawableDemo\app\src\main\java\com\bmw\customdrawabledemo\RollButton.java
?????文件????????371??2017-05-12?15:35??CustomDrawableDemo\app\src\main\res\drawable\logo.xm
?????文件???????3036??2018-06-23?10:56??CustomDrawableDemo\app\src\main\res\layout\activity_main.xm
?????文件????????246??2017-05-11?16:17??CustomDrawableDemo\app\src\main\res\layout\test.xm
?????文件???????7993??2017-05-13?16:29??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\btn.png
?????文件????????569??2018-01-30?17:14??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\close_x_yellow.png
?????文件???????3418??2017-05-10?10:54??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\ic_launcher.png
?????文件??????30853??2016-09-02?18:23??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\logo.png
?????文件???????1062??2018-01-31?15:35??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\move_down_tomore.png
?????文件??????10094??2016-10-31?17:52??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\rocker_bg.png
?????文件???????6416??2015-11-13?16:17??CustomDrawableDemo\app\src\main\res\mipmap-hdpi\rocker_btn.png
?????文件????????340??2018-01-30?17:14??CustomDrawableDemo\app\src\main\res\mipmap-mdpi\close_x_yellow.png
?????文件???????2206??2017-05-10?10:54??CustomDrawableDemo\app\src\main\res\mipmap-mdpi\ic_launcher.png
?????文件????????772??2018-01-31?15:35??CustomDrawableDemo\app\src\main\res\mipmap-mdpi\move_down_tomore.png
?????文件????????770??2018-01-30?17:14??CustomDrawableDemo\app\src\main\res\mipmap-xhdpi\close_x_yellow.png
?????文件???????4842??2017-05-10?10:54??CustomDrawableDemo\app\src\main\res\mipmap-xhdpi\ic_launcher.png
?????文件???????1636??2018-01-31?15:35??CustomDrawableDemo\app\src\main\res\mipmap-xhdpi\move_down_tomore.png
?????文件???????1413??2018-01-30?17:14??CustomDrawableDemo\app\src\main\res\mipmap-xxhdpi\close_x_yellow.png
?????文件???????7718??2017-05-10?10:54??CustomDrawableDemo\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
?????文件???????2612??2018-01-31?15:35??CustomDrawableDemo\app\src\main\res\mipmap-xxhdpi\move_down_tomore.png
?????文件???????1521??2018-01-30?17:14??CustomDrawableDemo\app\src\main\res\mipmap-xxxhdpi\close_x_yellow.png
............此處省略41個文件信息
評論
共有 條評論