【UI篇】BEditText-圓角/多邊陰影/描邊/漸變色/一鍵清空/輸入法彈出控制/......

一儒飒、功能介紹

為了能夠更直觀的讓大家知道BEditText都能做什么谬莹,下面我列了一個功能列表,做一下簡單描述桩了;如下:

功能 描述
圓角 可以統(tǒng)一設(shè)置圓角角度附帽,也可以四個角單獨設(shè)置
描邊 可以設(shè)置描邊大小、顏色圣猎,可以隱藏任意邊
陰影 可以設(shè)置陰影大小士葫、顏色乞而、偏移送悔、距離、單邊多邊顯示等
漸變色 可以設(shè)置文本漸變色爪模、背景漸變色
輔助功能 支持一鍵清空
支持內(nèi)容可見性切換&自定義圖標
支持設(shè)置四周圖標&自定義寬高
支持輸入法控制
另類樣式 支付密碼輸入樣式欠啤、驗證碼輸入樣式等

下面詳細說說各個功能的使用方法:

◆ 圓角

圓角演示.gif
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"
  />


◆ 描邊

描邊演示.gif
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"
  />


◆ 陰影

陰影演示.gif
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"
  />


◆ 漸變色

漸變色演示.gif
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"

  />


◆ 輔助功能

一鍵清空&內(nèi)容可見.jpg
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:最新版本'
  }



點擊下方↓↓↓ 查看最新版本

BSuperView 如果覺得有用歡迎Star经窖、贊拜银、賞 O(∩_∩)O


Bary Studio

更多內(nèi)容都在【Android開發(fā)這些年,沉淀下了什么阴汇?】專題中


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市节槐,隨后出現(xiàn)的幾起案子搀庶,更是在濱河造成了極大的恐慌,老刑警劉巖铜异,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哥倔,死亡現(xiàn)場離奇詭異,居然都是意外死亡揍庄,警方通過查閱死者的電腦和手機咆蒿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚂子,“玉大人沃测,你說我怎么就攤上這事∈尘ィ” “怎么了蒂破?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長别渔。 經(jīng)常有香客問我附迷,道長惧互,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任喇伯,我火速辦了婚禮喊儡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稻据。我一直安慰自己管宵,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布攀甚。 她就那樣靜靜地躺著箩朴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秋度。 梳的紋絲不亂的頭發(fā)上炸庞,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音荚斯,去河邊找鬼埠居。 笑死,一個胖子當(dāng)著我的面吹牛事期,可吹牛的內(nèi)容都是我干的滥壕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼兽泣,長吁一口氣:“原來是場噩夢啊……” “哼绎橘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起唠倦,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤称鳞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后稠鼻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冈止,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年候齿,在試婚紗的時候發(fā)現(xiàn)自己被綠了熙暴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡慌盯,死狀恐怖周霉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情润匙,我是刑警寧澤诗眨,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站孕讳,受9級特大地震影響匠楚,放射性物質(zhì)發(fā)生泄漏巍膘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一芋簿、第九天 我趴在偏房一處隱蔽的房頂上張望峡懈。 院中可真熱鬧,春花似錦与斤、人聲如沸肪康。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磷支。三九已至,卻和暖如春食寡,著一層夾襖步出監(jiān)牢的瞬間雾狈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工抵皱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留善榛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓呻畸,卻偏偏與公主長得像移盆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伤为,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355