編輯:關於android開發
前沿
上一篇介紹了NavigationView的主要使用方式,本章主要介紹TextInputLayout的使用方式。
TextInputLayout——EditText懸浮標簽
TextInputLayout主要作為EditText的父容器來使用,不能單獨使用。TextInputLayout解決了EditText輸入後hint文字消失的情況,當用戶在EditText開始輸入後,hint部分的文字會浮動到EditText的上方,而且還可以添加輸入錯誤時的提示信息,顯示在editText的下方,效果如下:
使用步驟:
(1)xml布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.design.widget.TextInputLayout android:id="@+id/usernameWrapper" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> </RelativeLayout>
(2)Java代碼調用
final TextInputLayout textInputLayout = (TextInputLayout) findViewById(R.id.usernameWrapper); textInputLayout.setHint("Username"); EditText editText = textInputLayout.getEditText();//直接通過getEditText()獲得EditText控件即可 editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { if (s.length() > 3) {//這裡可以加入正則判斷 textInputLayout.setError("Password error"); textInputLayout.setErrorEnabled(true); //一定要在setError方法之後執行才可 } else { textInputLayout.setErrorEnabled(false);//不滿足條件需要設置為false } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { } }); }
此外可以通過TextInputLayout如下兩個屬性來設置hint和error的字體
app:errorTextAppearance="@style/FloatingStyle" app:hintTextAppearance="@style/FloatingStyle"
/style/FloatingStyle
<style name="FloatingStyle" parent="@android:style/TextAppearance"> <item name="android:textColor">@color/colorPrimaryDark</item> <item name="android:textSize">12sp</item> </style>
android TextView實現跑馬燈效果 最近忙著項目,很久沒有總結提交博客和提交github了。接下來我打算整理下項目中用到的比較有用的發表到博客上。也打算總
FFmpeg使用手冊 - FFmpeg 的編譯安裝FFMpeg在官方網站中提供了已經編譯好的可執行文件,用FFmpeg的人很多,因為FFmpeg是開源的,並且可以自己DI
Linux內核基數樹應用分析Linux內核基數樹應用分析——lvyilong316基數樹(Radix tree)可看做是以二進制位串為關鍵字的trie樹,是一種多叉樹結構
Android View體系(一)視圖坐標系 前言 Android View體系是界面編程的核心,他的重要性不亞於Android四大組件,在這個系列中我會陸續講到Vi