TextInputLayout使用教程

2021-12-30 07:11:04 字數 3087 閱讀 2859

前言:最近自己想要做乙個畢業**的營銷實驗,不知道能不能實現自己最終的目標。但很多事光想並沒有什麼用,還是需要我們一步步得去做。對我來說也是一種鍛鍊吧。希望自己的努力會有好的結果。因為**導師說,做不好連**開題答辯都不給我去了。哈哈哈,不用這麼狠吧。

最近感覺很多人會把自己放到乙個框架下去成長,每當我和別人發現我學習程式設計,他們會說你不是阿里巴巴商學院的學生嘛,怎麼在學習程式設計?

每當我和別人談我外聯的經歷或者對商業的一點點思考,他們會很驚訝的問我,你不是做技術,學程式設計的嗎?怎麼在做這些。

我覺得我不應該活在乙個條條框框下,誰說我不能去涉及多個領域,或者要求我只能有乙個興趣愛好。我相信很多技能它們都是有交叉的領域的,乙個領域的知識能夠為另乙個領域有所幫助和啟發。所以,我並不覺得對商業的熱衷和對技術的學習有任何衝突的地方。

不知道這些觀點對不對,但我依然會堅持自己的許多個人愛好,去不斷學習和思考。即使有人會說我不專注,難成為乙個領域的專家。

行動派。

昨晚看到乙個關於textinputlayout的介紹,感覺簡直太酷了。所以想寫一篇關於textinputlayout的文章,來介紹這個控制項。

google在2015的io大會上,給我們帶來了更加詳細的material design設計規範,同時,也給我們帶來了全新的android design support library,在這個support庫裡面,google給我們提供了更加規範的md設計風格的控制項。最重要的是,android design support library的相容性更廣,直接可以向下相容到android 2.2。這不得不說是乙個良心之作。

記得很早接觸android的時候就接觸了md設計風格,感覺其中帶來的控制項都是十分簡約好看的,當初玩cardview就覺得簡直發現新大陸,原來可以這麼簡單的做出這麼簡約的介面。

接下來,我們就來接觸一下textinputlayout,md設計風格裡的乙個很酷炫的控制項。

這是今天的乙個demo效果圖,我們將通過這個demo效果的實現,去領略textinputlayout的酷炫。

首先我們先要注入依賴:

dependencies )

compile 'com.android.support:appcompat-v7:24.2.1'

testcompile 'junit:junit:4.12'

// 注入design的依賴,textinputlayout就在這個中

compile 'com.android.support:design:24.2.1'} 

在注入依賴以後,我們開始動手寫我們的布局吧,我會盡力把知識點以注釋的形式寫在**中,為了讓大家看**的時候能夠有更清晰的邏輯。

-->

這裡主要來說一下textinputlayout的一些屬性:

counterenabled :用來設定是否進行計數的,就是我們右下角這個0/5

countermaxlength:用來設定計數的最大長度

counteroverflowtextappearance:用來設定當我們的輸入長度超過我們指定的最大長度時的乙個樣式

errortextappearance:用來設定輸入錯誤時的樣式

接下來看一下我們的**邏輯,其實很簡單,就是例項化、然後給edittext新增乙個***,然後進行一定的業務邏輯判斷。

package com.example.vicky.singletonpattern;

import android.support.design.widget.textinputlayout;

import android.support.v7.app.appcompatactivity;

import android.os.bundle;

import android.text.editable;

import android.text.textutils;

import android.text.textwatcher;

import android.util.patterns;

import android.view.view;

import android.widget.edittext;

import com.example.vicky.singletonpattern.singletonpattern.singleclass;

public class mainactivity extends appcompatactivity

/*** 判斷使用者名稱是否可用

* @return

*/public boolean isnamevalid()

// 一定要在之後呼叫seterrorenabled(false);,不然錯誤提示會一直在

textinputlayout.seterrorenabled(false);

return true;

}public boolean ispasswordvalid()

textinputlayout2.seterrorenabled(false);

return true;

}public boolean isemailvalid()

textinputlayout3.seterrorenabled(false);

return true;

}// 自定義edittext的***。

private class mytextwatcher implements textwatcher

@override

public void beforetextchanged(charsequence s, int start, int count, int after)

@override

public void ontextchanged(charsequence s, int start, int before, int count)

@override

public void aftertextchanged(editable s) }}

}只用通過textinputlayout對edittext進行包裹就能實現酷炫的登入介面效果,其實蠻值得我們去認真一下md設計中的所有新的控制項。

koa generic session 使用教程

本系列是我的常用 koa 中介軟體使用筆記,防止忘記使用方法而作記錄 koa generic session 需要使用 koa redis作為儲存入口,需要安裝並引用。const koa require koa const session require koa generic session co...

pytorch dataloader使用教程

dataloader是pytorch之中可以靈活地取出數值的乙個相應類,首先需要將自己使用的資料用dataset封裝起來,然後打包成為dataloader變數進行操作 import torch from torch.utils.data import dataset,dataloader x tor...

Spring Cloud Sleuth 使用教程

span術語 terminology span 基本工作單元,例如,在乙個新建的span中傳送乙個rpc等同於傳送乙個回應請求給rpc,span通過乙個64位id唯一標識,trace以另乙個64位id表示,span還有其他資料資訊,比如摘要 時間戳事件 關鍵值注釋 tags span的id 以及進度...