android高階之ui深度定製系列(三)
建立對話方塊主要涉及dialog和alterdialog, progressdialog, datepickerdialog, timepikerdialog,後面四個是前者的子類,本文不打算對這四種如何建立做具體說明(這個官網已經有了) 。
alterdialog是作為常用的警告彈出視窗來用,一般分為三部分,標題,內容,按鈕;但也可以只有其中的一部分,其中的內容可以是乙個文字訊息,或是通過list裝載的一欄可選項,布局效果可以和使用listview那樣自定義;那麼標題是不是也可以定製,答案是肯定的,甚至我們可以定製整個dialog的布局,不過這就回到dialog上了;
通過alertdialog.builder的setcustomtitle方法來實現標題自定義,那麼這麼有什麼好處?其實主要看需求,系統預設的標題可以包含有圖示及文字,但只能有乙個表示文字的內容,如果你的標題有圖示,主標題,副標題(或簡短訊息),這個時候就要用到,當然你也可以通過dialog完全自定義乙個全新的dialog,之前我也是這樣實現的,但會有比較多的缺點,比如大小適配,list填充等等,代價比較大;
需要注意的是,setcustomtitle(view v)接受的引數是乙個view,所以在獲取該view時,可以通過xml單獨寫出標題的布局,然後用**轉換為view,不要用findviewbyid,應為那是預設在當前布局中查詢元素的;用layoutinflater ,常規寫法如下:
layoutinflater inflater =(layoutinflater)context.getsystemservice (context.layout_inflater_service);view view=inflater.inflate(int resource, viewgroup root);
CoordinatorLayout實現標題欄的隱藏
coordinatorlayout是design包裡面的乙個控制項。所以在使用時需要導包。compile com.android.support design 24.1.1 layout scrollflags中的幾個值 scroll 所有想滾動出螢幕的view都需要設定這個flag,沒有設定這個f...
ALBERT BiLSTM CRF實現序列標註
一 模型框架圖 二 分層介紹 1 albert層 albert是以單個漢字作為輸入的 本次配置最大為128個,短句做padding 兩邊分別加上開始標識cls和結束標識sep,輸出的是每個輸入word的embedding。在該框架中其實主要就是利用了預訓練模型albert的詞嵌入功能,在此基礎上fi...
GridView實現多標頭
1 建立乙個類,public class multtitle title 為乙個自定義的titles類陣列,其有兩個屬性,乙個為span 要合併的列數 乙個是text 單元格中內容。關於titles類請自己定義,很容易的。public static void createtitle object s...