溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android的MaterialDesign應用方法有哪些

發(fā)布時間:2022-01-12 16:07:44 來源:億速云 閱讀:115 作者:iii 欄目:網絡安全

這篇文章主要介紹“Android的MaterialDesign應用方法有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Android的MaterialDesign應用方法有哪些”文章能幫助大家解決問題。

1:上滑 頂部背景圖片緩慢消失,標題懸浮


Android的MaterialDesign應用方法有哪些

1.1:CoordinatorLayout中設置

  前面的添加依賴,在上一篇中已經說過,在這就不在重復了,協調者布局中這次又加入了一個新的布局CollapsingToolbarLayout(折疊工具欄布局),很明顯上面的效果圖中的工具欄上滑的同時把圖片折疊進去了,這是一個動畫效果,如果不是MaterialDesign庫的強大,這都是我們自己寫。我們來分析一下效果圖中都用到了什么,只看帶顏色的有文字,和一個蘋果背景圖、還有一個懸浮按鈕(吸附在CollapsingToolbarLayout的右下角)。我們來分析一下主要代碼

最外層-->里層還是:CoordinatorLayout-->AppBarLayout-->CollapsingToolbarLayout。竟然折疊的部分是toolbar和背景圖片,這就理所應當的把這兩個空間寫在CollapsingToolbarLayout中,因為上面協調者布局和appbar布局很簡單,這里就不在寫了,只貼出折疊布局代碼(里面的注釋有貼出后加的,用該代碼時要注意語法)。這里可以看出我在ImageView中加入了高度180dp,這里是一定要加上的,否側toolbar的會出現以下幾種錯誤,1:文字不顯示。2:只顯示標題欄。3:圖片過大充滿整個屏幕。當然這些問題不是每個人都有的。

<!--折疊toolbar布局--><android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/toolbar_layout"
            app:contentScrim="@color/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"><!--這里ContentScrim是實現上滑后由什么顏色作為標題背景色--><ImageView
                android:layout_width="match_parent"
                android:layout_height="180dp"
                android:scaleType="fitXY"    //圖片顯示方式,鋪滿xy軸
                android:src="@drawable/img1" /><android.support.v7.widget.Toolbar
                android:id="@+id/id_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?actionBarSize" /></android.support.design.widget.CollapsingToolbarLayout>

寫到這才是我們的折疊布局了,還有我們的懸浮按鈕FloatingActionButton,標紅的是重點。

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/add"app:layout_anchor="@id/toolbar_layout"//固定在哪個控件
        app:layout_anchorGravity="bottom|right"//的具體位置/>

 寫到這里基本上完成了,代碼少,效果好正是該庫的強大,在Activity中的使用基本和上一篇是一樣的。對于這個懸浮按鈕里面也有很多屬性,這里就不在一一寫出了,這里只是作為一個輔助,讓我們在視覺更舒服所加的。

2:在標題 上欄加入布局,放一些搜索框


Android的MaterialDesign應用方法有哪些

2.1:布局書寫

這里的布局和上面是一樣的,只是把imageview換成了LinearLayout布局,在該布局中寫上我們熟悉的輸入框和圖片按鈕即可,

最外層-->里層還是:CoordinatorLayout-->AppBarLayout-->CollapsingToolbarLayout-->LinearLayout。

3:輸入框TextInputEditText的使用

在最平常的時候,我們寫輸入框,要加正則表達式來判斷是哪一行出現不符合要求的數據,然后用一個toast來提示用戶,這就顯得用戶體驗極差,有的用戶還沒看完toast就關掉了,而且具體哪一行錯誤也沒有標紅,這就很尷尬了,那么今天這個控件也是一個輸入框,但是外層加一個布局(TextInputLayout),就可以達到精確到一行提示具體錯誤。

TextInputLayout是22.2.0新添加的控件, 要和EditText(或EditText的子類)結合使用,并且只能包含一個EditText(或EditText的子類)。

一般情況下,EditText獲得光標的時候hint會自動隱藏,這樣不是很友好。這時候TextInputLayout則是顯示錯誤,TextInputLayout是LinearLayout的子類,用于輔助顯示提示信息。當EditText獲取得光標的時候,EditText的hint會自己顯示在上方,并且有動畫過渡。


Android的MaterialDesign應用方法有哪些

現在僅僅是過度效果,還沒有加提示信息,用法很簡單,但注意一點TextInputLayout只能包含一個TextInputEditText,如果寫用戶名和密碼那就寫兩個TextInputLayout,哦,對了這個最外層布局倒和協調者布局沒多大關系,隨便一個線性布局即可。

  <android.support.design.widget.TextInputLayout        android:id="@+id/id_inputtext"android:layout_width="match_parent"
        android:layout_height="wrap_content"><android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="用戶名" /></android.support.design.widget.TextInputLayout>

這里要注意的是Id是加在 TextInputLayout上,在Activity中獲取也是獲取的layout,那么怎么獲取edittext輸入的數據呢,有方法的。

viewById.getEditText().addTextChangedListener(this);

 獲取里面的text文本并且添加文本變化監(jiān)聽,這里要實現三個方法

public void afterTextChanged(Editable s) //內容改變后調用

 這兩個方法簡單demo上都用不到,這里就不過多解釋了。

@Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

 這里我們重點看afterTextChanged方法,這里只給第一個控件加上了該監(jiān)聽(對比)。

 @Override
    public void afterTextChanged(Editable s) {
        if(s.length()<4){
            viewById.setError("必須大于4位");
            viewById.setErrorEnabled(true);
        }else {
            viewById.setErrorEnabled(false);
        }
    }


Android的MaterialDesign應用方法有哪些

關于“Android的MaterialDesign應用方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI