Android – 密碼可見度切換

密碼可見性切換:
在Android支持庫24.2.0中,引入了“密碼可見性切換”到旦。

什么是密碼可見性切換:
根據(jù)Material Design Guideline 旨巷,使用此圖標(biāo)添忘,我們可以在密碼輸入字段中啟用和禁用密碼可見性斧吐。
當(dāng)可見性圖標(biāo)顯示文本字段時,它指示該字段的輸入是否可見∩烟危可以使用圖標(biāo)打開或關(guān)閉文本字段的可見性:

  • 啟用可見性:圖標(biāo)不透明度為54%,密碼可見。
  • 禁用可見性:圖標(biāo)不透明度為38%团赁,密碼不可見笋粟。

先上效果圖:

正常使用.gif

添加“顯示密碼”屬性后:

修改后.gif

現(xiàn)在介紹一下具體使用方法:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
      >

        <android.support.design.widget.TextInputLayout
            android:id="@+id/layout_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColorHint="@color/colorHint"
           >

            <EditText
                android:id="@+id/editTextEmail"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_email"
                android:inputType="textEmailAddress"
                android:text="aaaa"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/layout_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/layout_email"
            android:textColorHint="@color/colorHint"
            app:passwordToggleDrawable="@mipmap/pwd_visiable"
            app:passwordToggleEnabled="true">

            <EditText
                android:id="@+id/editTextPassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="45dp"
                android:hint="@string/hint_password"
                android:inputType="textPassword"
                android:text="aaaaa"
                />
        </android.support.design.widget.TextInputLayout>

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/layout_email"
            android:layout_marginTop="104dp"
            android:background="@color/buttoncolor"
            android:text="登錄"
            android:textColor="@color/textColor"/>
    </RelativeLayout>

當(dāng)然殿漠,在我們實(shí)際開發(fā)中"顯示/隱藏圖標(biāo)"可能需要有狀態(tài)變化的失尖,所以,上面代碼就不能滿足我們的需求了,這時候我們就需要稍微修改一下代碼薯鼠。
我們先刪除xml文件中“app:passwordToggleDrawable="@mipmap/pwd_visiable"”這行代碼,然后我們在Activity中動態(tài)添加“顯示/隱藏”圖標(biāo)。

TextInputLayout mLayout = (TextInputLayout) findViewById(R.id.layout_password);
mLayout.setPasswordVisibilityToggleDrawable(R.drawable.pwd_selector);

pwd_selector.xml代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/pwd_visiable" android:state_checked="true"/>
    <item android:drawable="@mipmap/pwd_gone" android:state_checked="false"/>
    <item android:drawable="@mipmap/pwd_gone" />
</selector>

使用的資源:

pwd_gone.png
pwd_visiable.png

修改后的效果如下:

狀態(tài)改變.gif

更多定制:

android.support.design:passwordToggleContentDescription 設(shè)置為密碼輸入可見性切換的內(nèi)容描述的文本。
android.support.design:passwordToggleDrawable   可用作密碼輸入可見度切換圖標(biāo)胆胰。
android.support.design:passwordToggleEnabled    當(dāng)EditText有密碼時狞贱,視圖是否顯示切換。
android.support.design:passwordToggleTint   用于密碼輸入可見性的圖標(biāo)toggleMay可以是一個顏色值
android.support.design:passwordToggleTintMode   混合模式用于應(yīng)用背景色調(diào)蜀涨。

可從文檔中查看更多瞎嬉。

好了蝎毡,到這里,就全部結(jié)束了佑颇。

快樂生活顶掉,快樂工作,快樂編程挑胸!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痒筒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子茬贵,更是在濱河造成了極大的恐慌簿透,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件解藻,死亡現(xiàn)場離奇詭異老充,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)螟左,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門啡浊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胶背,你說我怎么就攤上這事巷嚣。” “怎么了钳吟?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵廷粒,是天一觀的道長。 經(jīng)常有香客問我红且,道長坝茎,這世上最難降的妖魔是什么缨该? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任桨武,我火速辦了婚禮,結(jié)果婚禮上廊鸥,老公的妹妹穿的比我還像新娘壁酬。我一直安慰自己次酌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布厨喂。 她就那樣靜靜地躺著和措,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜕煌。 梳的紋絲不亂的頭發(fā)上派阱,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音斜纪,去河邊找鬼贫母。 笑死文兑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腺劣。 我是一名探鬼主播绿贞,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼橘原!你這毒婦竟也來了籍铁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤趾断,失蹤者是張志新(化名)和其女友劉穎拒名,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芋酌,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡增显,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脐帝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片同云。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖堵腹,靈堂內(nèi)的尸體忽然破棺而出炸站,到底是詐尸還是另有隱情,我是刑警寧澤秸滴,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布武契,位于F島的核電站募判,受9級特大地震影響荡含,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜届垫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一释液、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧装处,春花似錦误债、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至登淘,卻和暖如春箫老,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黔州。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工耍鬓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阔籽,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓牲蜀,卻偏偏與公主長得像笆制,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涣达,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容