Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhangxuyang321/XyzInfo
自定义switch 和 ruler控件,灵活好用
https://github.com/zhangxuyang321/XyzInfo
Last synced: about 1 month ago
JSON representation
自定义switch 和 ruler控件,灵活好用
- Host: GitHub
- URL: https://github.com/zhangxuyang321/XyzInfo
- Owner: zhangxuyang321
- License: apache-2.0
- Created: 2016-11-11T08:56:11.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-20T01:24:18.000Z (over 7 years ago)
- Last Synced: 2024-08-02T01:25:33.187Z (4 months ago)
- Language: Java
- Homepage:
- Size: 2.96 MB
- Stars: 138
- Watchers: 2
- Forks: 28
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-android-ui - XyzInfo - 自定义Switch和Ruler控件 (其他)
README
# XyzInfo
自定义Switch 和 Ruler控件[(博客链接)](https://zhangxuyang321.github.io)
### UI
[Download Demo](https://github.com/zhangxuyang321/XyzInfo/blob/master/apk/demo.apk)
![1](https://github.com/zhangxuyang321/XyzInfo/blob/master/ui/2.gif)###介绍
xSwitch | xRuler
--- | ---
支持背景与滑块颜色自定义 | 支持两种显示模式
支持颜色过渡动画 | 支持上下两种刻度
支持自定义圆角弧度 | 支持自定义指示器颜色大小
支持自定义宽高比 |支持自定义刻度之间像素数目(间距)
支持自定义滑块与背景大小比例 |支持自定义刻度线宽度
支持自定义图片(建议灰色)以及大小 |支持自定义刻度基本单位(最小刻度单位)
支持自定义滑动时间 |支持自定义起止范围
无|支持自定义字体颜色大小
无|支持自定义最小滑动速率
无|支持自定义刻度与文字之间距离
无|支持边界回弹动画
无|支持Fling滑动
无|支持设置默认值
无|支持自定义设置回弹动画基本时间
### xswitch使用因为使用ColorMatrix使灰色图片变成白色,所以icon需要为灰色图片
###### Gradle
compile 'com.xyz.xswitch:xswitch:1.0.1'
###### 属性介绍
属性 | 介绍 | 类型 | 默认 | 是否必须
--- | --- | --- | --- | ---
xRadian | 圆角弧度 | dimension | 45 |否
xASPECTRATIO | 宽高比 | float | 0.37f | 否
xASPEERRATIO | 滑块与背景宽度比 | float | 0.56f | 否
xIconWidth | 图片宽度 |dimension | 80 | 否
xIconHeight | 图片高度 | dimension | 80 | 否
xBackgroundFromColor | 背景起始颜色 | color |0xff443c6f | 否
xBackgroundToColor |背景终止颜色 | color | 0xffff5a73 | 否
xSliderFromColor | 滑块起始颜色 | color | 0xffff5a73 | 否
xSliderToColor |滑块终止颜色 | color | 0xff443c6f | 否
xChangedTime | 滑块滑动时间 | int | 300 | 否
xLeftIcon | 左侧图片 | reference | null | 是
xRightIcon | 右侧图片 | reference | null |是
###### 代码
```java
XyzSwitch xSwitch = (XyzSwitch) findViewById(R.id.xswitch);
xSwitch.setOnXyzSwitchChangeListener(new XyzSwitch.XyzSwitchChange() {
@Override
public void changed(boolean isRight) {
Toast.makeText(MainActivity.this,isRight?"男":"女",Toast.LENGTH_SHORT).show();
}
});
```
###### layout```xml
```
### xRuler使用###### Gradle
compile 'com.xyz.xruler:xruler:1.0.4'###### 属性介绍
属性 | 介绍 | 类型 | 默认 | 是否必须
--- | --- | --- | --- | ---
rBorderWidth | 边框宽度(指针模式下为指针宽度)| dimension | 8 | 否
rBorderColor | 边框颜色(指针模式下为指针颜色)| color | Color.BLUE | 否
rLineColor | 刻度线的颜色 | color | Color.WHITE | 否
rTrigonSize | 边框模式下三角形大小 | dimension | 20 | 否
rPixel | 最小刻度像素大小 | integer | 15 | 否
rStep | 刻度最小单位 | integer | 1 | 否
rLineWidth | 刻度线宽度 | dimension | 2 | 否
rTextSize | 刻度文字大小 | dimension | 30 | 否
rTextColor | 刻度文字颜色 | color | Color.WHITE | 否
rLineHeight | 刻度线高度 | dimension | 25 | 否
rLineToText | 刻度文字与刻度线距离 | dimension | 35 | 否
rBegin | 刻度尺范围开始值 | integer | 0 | 否
rEnd | 刻度尺范围结束值 | integer | 1000 | 否
rMinVelocity | 触发惯性滑动的最小速率 | integer | 500 | 否
rAnimTime | 回弹动画时间基准值 | integer | 300 | 否
rIndicateHeight | 指针高度差值(数值越大高度越小) | dimension | 0 | 否
rIsRect | 是否是边框模式 | boolean | true | 否
rIsTop | 刻度线是否在顶部 | boolean | true | 否
###### 代码```java
/**
* 设置选中的条目
*/
ruler1.setOnSelectItem(new XyzRuler.SelectItem() {
@Override
public int setSelectItem() {
return 60;
}
});
/**
* 监听拖动时值得变化
*/
ruler1.setOnRulerValueChangeListener(new XyzRuler.RulerValue() {
@Override
public void value(int value) {
tv1.setText("体重\n"+value+"\nkg");
}
});
```
###### layout```xml
```
### LICENSE 开源协议Apache License Version 2.0