From e8ec33a80e0efbe51782e14e75c8ec015846d1ce Mon Sep 17 00:00:00 2001 From: yangbiao <929730168@qq.com> Date: Mon, 7 Aug 2017 16:20:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=91=E5=8A=A8=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/markdown-navigator.xml | 72 ++++++++++++++ .idea/modules.xml | 4 - 20170807103954.gif | Bin 0 -> 61432 bytes README.md | 20 +++- sample/build.gradle | 2 +- .../com/custom/activity/MainActivity.java | 8 ++ sample/src/main/res/layout/activity_main.xml | 3 +- switch/build.gradle | 8 +- .../java/com/custom/switches/SwitchView.java | 94 ++++++++++++++---- 9 files changed, 180 insertions(+), 31 deletions(-) create mode 100644 .idea/markdown-navigator.xml create mode 100644 20170807103954.gif diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml new file mode 100644 index 0000000..d819570 --- /dev/null +++ b/.idea/markdown-navigator.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 1effc1a..0c9eedb 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -6,11 +6,7 @@ - - - - diff --git a/20170807103954.gif b/20170807103954.gif new file mode 100644 index 0000000000000000000000000000000000000000..ec4657fc4420912ad52a515682eaeefcbdd0f1d7 GIT binary patch literal 61432 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 29501d2..f21c0ff 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,18 @@ -# 自定义多个多开关 - 最低版本4.0 +# Switches +### 自定义多个多开关 +--- + + 要求 最低版本API 14(Android 4.0)版本以上 + + 效果预览
+
+ ![image](20170807103954.gif) + +### 介绍 + + 这是一个通用多按钮切换控件,支持对按钮文字,同时包括按钮、背景、字体等颜色设置,包括点击切换事件等,帮助大家在需要多个按钮的情况下使用 + +### 使用 + + + \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index ab1759c..f25cc5b 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -5,7 +5,7 @@ android { buildToolsVersion '25.0.0' defaultConfig { applicationId "com.custom.yang" - minSdkVersion 15 + minSdkVersion 16 targetSdkVersion 24 versionCode 1 versionName "1.0" diff --git a/sample/src/main/java/com/custom/activity/MainActivity.java b/sample/src/main/java/com/custom/activity/MainActivity.java index ba90ff9..d603cd0 100644 --- a/sample/src/main/java/com/custom/activity/MainActivity.java +++ b/sample/src/main/java/com/custom/activity/MainActivity.java @@ -2,6 +2,7 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; +import android.widget.Toast; import com.custom.switches.SwitchView; @@ -13,5 +14,12 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); switchView=(SwitchView)findViewById(R.id.my_switch); + switchView.setStatus(new String[]{"备用","备用","正常"}); + switchView.setOnClickStateChange(new SwitchView.OnClickStateChange() { + @Override + public void onStateChange(int state, String statusText) { + Toast.makeText(getApplicationContext(),statusText,Toast.LENGTH_LONG).show(); + } + }); } } diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 46f76cb..2fcc9be 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -5,12 +5,13 @@ android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" + android:gravity="center" android:orientation="vertical" tools:context="com.custom.activity.MainActivity"> diff --git a/switch/build.gradle b/switch/build.gradle index 57e20f0..64797fc 100644 --- a/switch/build.gradle +++ b/switch/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 26 - buildToolsVersion "26.0.1" + compileSdkVersion 25 + buildToolsVersion "25.0.1" defaultConfig { minSdkVersion 14 - targetSdkVersion 26 + targetSdkVersion 25 versionCode 1 versionName "1.0" @@ -26,7 +26,7 @@ dependencies { androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:26.+' + compile 'com.android.support:appcompat-v7:25.3.1' testCompile 'junit:junit:4.12' } // 指定编码 diff --git a/switch/src/main/java/com/custom/switches/SwitchView.java b/switch/src/main/java/com/custom/switches/SwitchView.java index aba6336..2b5d81e 100644 --- a/switch/src/main/java/com/custom/switches/SwitchView.java +++ b/switch/src/main/java/com/custom/switches/SwitchView.java @@ -5,13 +5,13 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; +import android.graphics.drawable.GradientDrawable; import android.os.Build; import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; -import android.widget.Toast; /** * 多个开关自定义view @@ -19,16 +19,16 @@ */ public class SwitchView extends View { - private int textColor = 0; - private int btnColor = 0; - private int borderColor = 0; + private int textColor = 0;//文字颜色 + private int btnColor = 0;//按钮颜色 + private int borderColor = 0;//背景 private Context context; private float x = 0; private float height = 0; - private String[] status = {"你好", "你也好", "呵呵"}; + private String[] status = {"开", "关"}; private int state = 0; private String text = status[state]; - + private OnClickStateChange onClickStateChange; public SwitchView(Context context) { super(context); } @@ -37,14 +37,12 @@ public SwitchView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); this.context = context; TypedArray typedArray = context.getTheme().obtainStyledAttributes(attrs, com.custom.switches.R.styleable.SwitchView, 0, 0); - int btnColor = typedArray.getColor(R.styleable.SwitchView_btn_color, Color.parseColor("#999999")); - int borderColor = typedArray.getColor(R.styleable.SwitchView_border_color, Color.parseColor("#cccccc")); - int textColor = typedArray.getColor(R.styleable.SwitchView_text_color, Color.parseColor("#cccccc")); - + int btnColor = typedArray.getColor(R.styleable.SwitchView_btn_color, Color.WHITE); + int borderColor = typedArray.getColor(R.styleable.SwitchView_border_color, Color.parseColor("#4bd763")); + int textColor = typedArray.getColor(R.styleable.SwitchView_text_color, Color.parseColor("#000000")); this.btnColor = btnColor; this.borderColor = borderColor; this.textColor = textColor; - typedArray.recycle(); } @@ -62,7 +60,7 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); //默认的宽度和高度 - int height = measureDimension(50, heightMeasureSpec); + int height = measureDimension(100, heightMeasureSpec); this.height = height; x = height / 2; int width = height * status.length; @@ -91,17 +89,28 @@ public int measureDimension(int defaultSize, int measureSpec) { return result; } + @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); - setBackgroundColor(Color.WHITE); - paint.setColor(Color.RED); + paint.setAntiAlias(true); + GradientDrawable gd = new GradientDrawable();//创建drawable + gd.setColor(borderColor); + gd.setCornerRadius(height); + setBackground(gd); + + paint.setColor(borderColor); canvas.drawCircle(x, this.getHeight() / 2, height / 2, paint); - paint.setColor(Color.WHITE); - paint.setTextSize(height / 8); + + paint.setColor(btnColor); + canvas.drawCircle(x, this.getHeight() / 2, height / 2-3, paint); + + paint.setColor(textColor); + paint.setTextSize(height / 4); + paint.setStrokeWidth(4); for (int i = 0; i < status.length; i++) { - canvas.drawText(status[i], height * (i + 1) - height / 2 - text.length() * (height / 16), height / 2 + (height / 16), paint); + canvas.drawText(status[i], height * (i + 1) - height / 2 - status[i].length() * (height / 8), height / 2 + (height /8), paint); } } @@ -111,7 +120,13 @@ public boolean onTouchEvent(final MotionEvent event) { new Thread() { @Override public void run() { - int onState = (int) (event.getX() / height); + post(new Runnable() { + @Override + public void run() { +// Toast.makeText(context,getLeft()+"",Toast.LENGTH_LONG).show(); + } + }); + int onState = (int) ((event.getX()-getLeft())/ height); if (state != onState) { if (state > onState) { for (int i = 0; i < (state - onState) * height; i++) { @@ -142,7 +157,9 @@ public void run() { post(new Runnable() { @Override public void run() { - Toast.makeText(getContext(), state + "", Toast.LENGTH_LONG).show(); + if (onClickStateChange!=null){ + onClickStateChange.onStateChange(state,status[state]); + } } }); } @@ -151,4 +168,43 @@ public void run() { return super.onTouchEvent(event); } + public String[] getStatus() { + return status; + } + + public void setStatus(String[] status) { + this.status = status; + } + + public int getTextColor() { + return textColor; + } + + public void setTextColor(int textColor) { + this.textColor = textColor; + } + + public int getBtnColor() { + return btnColor; + } + + public void setBtnColor(int btnColor) { + this.btnColor = btnColor; + } + + public int getBorderColor() { + return borderColor; + } + + public void setBorderColor(int borderColor) { + this.borderColor = borderColor; + } + + public void setOnClickStateChange(OnClickStateChange onClickStateChange) { + this.onClickStateChange = onClickStateChange; + } + + public interface OnClickStateChange{ + void onStateChange(int state,String statusText); + } }