一儒飒、功能介紹
為了能夠更直觀的讓大家知道BEditText都能做什么谬莹,下面我列了一個功能列表,做一下簡單描述桩了;如下:
功能 | 描述 |
---|---|
圓角 | 可以統(tǒng)一設(shè)置圓角角度附帽,也可以四個角單獨設(shè)置 |
描邊 | 可以設(shè)置描邊大小、顏色圣猎,可以隱藏任意邊 |
陰影 | 可以設(shè)置陰影大小士葫、顏色乞而、偏移送悔、距離、單邊多邊顯示等 |
漸變色 | 可以設(shè)置文本漸變色爪模、背景漸變色 |
輔助功能 | 支持一鍵清空 支持內(nèi)容可見性切換&自定義圖標 支持設(shè)置四周圖標&自定義寬高 支持輸入法控制 |
另類樣式 | 支付密碼輸入樣式欠啤、驗證碼輸入樣式等 |
下面詳細說說各個功能的使用方法:
◆ 圓角
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_roundRadius="10dp" | setRoundradius(int radius) | 設(shè)置四個角圓角值,優(yōu)先級最高 |
app:bsv_topLeftRadius="10dp" | setTopLeftRoundRadius(int radius) | 左上角圓角值 |
app:bsv_topRightRadius="10dp" | setTopRightRoundRadius(int radius) | 右上角圓角值 |
app:bsv_bottomLeftRadius="10dp" | setBottomLeftRoundRadius(int radius) | 左下角圓角值 |
app:bsv_bottomRightRadius="10dp" | setBottomRightRoundRadius(int radius) | 左下角圓角值 |
如果設(shè)置了roundRadius的值默認會重置四個角度的值屋灌,以roundRadius為準
<!--四個圓角都為10dp-->
<com.bary.ui.view.BEditText
...
app:bsv_roundRadius="10dp"
/>
<!--左上洁段、右上、坐下圓角為10dp-->
<com.bary.ui.view.BEditText
...
app:bsv_topLeftRadius="10dp"
app:bsv_topRightRadius="10dp"
app:bsv_bottomLeftRadius="10dp"
/>
◆ 描邊
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_borderSize="3dp" | setBorderSize(float size) | 設(shè)置描邊尺寸 |
app:bsv_borderColor="#ff8585" | setBorderColor(int color) | 設(shè)置描邊顏色 |
app:bsv_borderHideEdges="left|top" | hideBorderEdges(int... edges) | 設(shè)置需要隱藏的邊,值為: left共郭、top祠丝、right、bottom除嘹; 可以同時設(shè)置多個用|分隔 即可(代碼設(shè)置的話写半, hideBorderEdges方法為 不定參,傳多個參數(shù)即可; BorderBuilder.LEFT尉咕、 BorderBuilder.TOP叠蝇、 BorderBuilder.RIGHT、 BorderBuilder.BOTTOM) |
想要顯示描邊borderShow必須為true
<com.bary.ui.view.BEditText
...
app:bsv_borderSize="3dp"
app:bsv_borderColor="#ff8585"
app:bsv_borderHideEdges="left|top"
/>
◆ 陰影
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_shadowShow="true" | setShadowShow(boolean show) | 設(shè)置是否展示陰影 |
app:bsv_shadowSize="3dp" | setShadowSize(float size) | 設(shè)置陰影尺寸年缎,優(yōu)先級最高 |
app:bsv_shadowXSize="3dp" | setShadowXSize(float size) | 可以單獨設(shè)置橫向陰影尺寸 |
app:bsv_shadowYSize="3dp" | setShadowYSize(float size) | 可以單獨設(shè)置縱向陰影尺寸 |
app:bsv_shadowDx="1dp" | setShadowDx(float dx) | 設(shè)置橫向的偏移值悔捶,默認0 視圖在中心,左右陰影尺寸 相同 |
app:bsv_shadowDy="1dp" | setShadowDy(float dy) | 設(shè)置縱向的偏移值单芜,默認0 視圖在中心蜕该,上下陰影尺寸 相同 |
app:bsv_shadowColor="#ff8585" | setShadowColor(int color) | 設(shè)置陰影顏色 |
app:bsv_shadowAlpha="0.8" | setShadowAlpha(float alpha) | 設(shè)置陰影透明度 |
app:bsv_shadowHideEdges="left|top" | hideShadowEdges(int... edges) | 設(shè)置需要隱藏的邊,值為: left、top洲鸠、right堂淡、bottom; 可以同時設(shè)置多個用|分隔 即可(代碼設(shè)置的話, hideShadowEdges方法為 不定參淤齐,傳多個參數(shù)即可; ShadowBuilder.LEFT股囊、 ShadowBuilder.TOP、 ShadowBuilder.RIGHT更啄、 ShadowBuilder.BOTTOM) |
想要顯示描邊shadowShow必須為true稚疹,如果設(shè)置了shadowSize的值默認會重置shadowXSize,shadowYSize的值祭务,以shadowSize為準内狗,四邊陰影尺寸相同,想要橫向縱向尺寸不同义锥,只設(shè)置shadowXSize柳沙,shadowYSize即可。
<com.bary.ui.view.BEditText
...
app:bsv_shadowShow="true"
app:bsv_shadowSize="3dp"
app:bsv_shadowDx="1dp"
app:bsv_shadowDy="1dp"
app:bsv_shadowColor="#ff8585"
app:bsv_shadowAlpha="0.8"
app:bsv_shadowHideEdges="left|top"
/>
◆ 漸變色
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_backgroundGradientColor="#FF8585|#FF8B15" | setBackgroundGradientColor(String... colors) | 設(shè)置背景漸變色拌倍,至少兩個16進制顏色值赂鲤; 代碼設(shè)置方法為不定參,傳多個參數(shù)16進制顏色值 |
app:bsv_backgroundGradientType="linear" | setBackgroundGradientType (GradientType type) |
設(shè)置漸變類型柱恤,參數(shù)為: linear-線性 radial-圓環(huán) sweep-角度 ------------------------- GradientType.LINEAR数初、 GradientType.RADIAL、 GradientType.SWEEP |
app:bsv_backgroundGradientOrientation="horizontal" | setBackgroundGradientOrientation (GradientOrientation orientation) |
設(shè)置漸變方向梗顺,參數(shù)為: horizontal-垂直 vertical-水平 diagonal-對角 ------------------------- GradientOrientation.HORIZONTAL泡孩、 GradientOrientation.VERTICAL、 GradientOrientation.DIAGONAL |
app:bsv_textGradientColor="#FF8585|#FF8B15" | setBackgroundGradientColor(String... colors) | 設(shè)置背景漸變色寺谤,至少兩個16進制顏色值仑鸥; 代碼設(shè)置方法為不定參,傳多個參數(shù)16進制顏色值 |
app:bsv_textGradientType="linear" | setTextGradientType (GradientType type) |
設(shè)置漸變類型变屁,參數(shù)同背景漸變類型相同 |
app:bsv_textGradientOrientation="horizontal" | setTextGradientOrientation (GradientOrientation orientation) |
設(shè)置漸變方向眼俊,參數(shù)同背景漸變類型相同 |
? 由于漸變色需要在同一個屬性下設(shè)置多個顏色,所以只能設(shè)置16進制顏色值敞贡,不能使用color下的顏色資源
背景漸變:
<com.bary.ui.view.BEditText
...
app:bsv_backgroundGradientColor="#FF8585|#FF8B15"
app:bsv_backgroundGradientType="linear"
app:bsv_backgroundGradientOrientation="horizontal"
/>
文本漸變:
<com.bary.ui.view.BEditText
...
app:bsv_textGradientColor="#FF8585|#FF8B15"
app:bsv_textGradientType="linear"
app:bsv_textGradientOrientation="horizontal"
/>
◆ 輔助功能
1泵琳、一鍵清空
自帶一鍵清空功能,當(dāng)文本框有內(nèi)容的時候自動顯示出來誊役,可以設(shè)置展示/隱藏获列,圖標可更換;具體說明如下:
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_showClearIcon="true" | showClearIcon(boolean show) | 設(shè)置是否顯示一鍵清空圖標蛔垢,默認true |
app:bsv_clearIcon="@drawable/clear" | setClearIcon(int res) | 設(shè)置一鍵清空按鈕圖標 |
2击孩、內(nèi)容可見性切換&自定義圖標
支持自定義內(nèi)容可見按鈕功能,默認隱藏鹏漆,可以設(shè)置展示/隱藏巩梢,圖標可更換创泄;具體說明如下:
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_showSecretIcon="false" | showSecretIcon(boolean show) | 設(shè)置是否顯示內(nèi)容可見控制圖標,默認false |
app:bsv_secretIconVisible="@drawable/visible" app:bsv_secretIcoInvisible="@drawable/invisible" |
setSecretIcon(int visibe, int invisibe) | 設(shè)置內(nèi)容隱藏按鈕圖標 |
3括蝠、添加左右兩側(cè)圖標&自定義寬高
XML設(shè)置 | 代碼設(shè)置 | 描述 |
---|---|---|
app:bsv_leftIcon="@drawable/icon" app:bsv_leftIconWidth="20dp" app:bsv_leftIconHeight="20dp" app:bsv_leftIconPadding="5dp" |
addLeftIcon( Drawable drawable, int width, int height, int padding, OnClickListener listener ) |
添加左側(cè)圖標鞠抑,代碼添加支持多個 |
右側(cè)同上(left-right) | addRightIcon | ...... |
注意:
1、xml設(shè)置圖標左右兩個各自職能設(shè)置一個忌警,點擊事件通過代碼設(shè)置setOnLeftIconClickListener搁拙,setOnRightIconClickListener來實現(xiàn)。
2法绵、在代碼添加兩側(cè)圖標時可以添加多個箕速,直接附帶點擊事件。
4朋譬、輸入法控制
可以設(shè)置編輯模式,默認普通模式
【普通模式】
【不可編輯模式】
【可編輯不彈輸入法】(有光標盐茎,一般用在語音錄入)
溫馨提示:
addTextChangedListener ———— addNewTextChangedListener
setOnTouchListener ———— setNewOnTouchListener
setOnFocusChangeListener ———— setNewOnFocusChangeListener
這幾個監(jiān)聽需要調(diào)用新的方法再能生效。
二徙赢、使用方法
1者填、把maven { url 'https://jitpack.io' }這段代碼添加到項目的build.gradle存儲庫末尾
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
2账锹、在需要用的主程序或Module下的build.gradle中引用
dependencies {
...
implementation 'com.github.barystudio:BSuperView:最新版本'
}
點擊下方↓↓↓ 查看最新版本