2020.4.4日清明,全國各民族對對抗新冠肺炎疫情斗爭中犧牲的烈士和逝世的同胞舉行全國性哀悼活動,全國降半旗,全國人民默哀三分鐘。各大新聞app,支付寶等應(yīng)用軟件將首頁灰度顯示以表對烈士和同胞的哀悼。
10年積累的網(wǎng)站制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有建平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
實現(xiàn)這個功能其實就是將圖片和字體進(jìn)行一個灰度顯示。對于文字的灰度顯示過于簡單,我們就不實現(xiàn)啦。這篇文章主要是一個圖片的灰度顯示效果實現(xiàn)。
方式一:Android ImageView控件加載圖片灰度顯示。
方式二:通過bitmap進(jìn)行重新繪制
對于視頻沒播放時是灰色的,其實原理一樣,也是對視頻封面這一幀圖片進(jìn)行了一個灰色處理。
RecyclerView的2級嵌套
看到同一個滾動控件中出現(xiàn)了3種混合布局,多數(shù)人第一映像就是進(jìn)行嵌套。
如果進(jìn)行嵌套的話,嵌套什么?從效果圖來看,上圖的一個欄目中的視圖數(shù)量似乎是固定的,這意味著可以使用RelativeLayout等布局進(jìn)行硬排版。確實如果真是固定的這樣做當(dāng)然更好,但是注意到點(diǎn)擊每個欄目上的刷新按鈕的時候,偶爾會出現(xiàn)兩個視圖交換位置的動畫,這是RecyclerView特有的,而且也沒有人告訴我每個欄目中的視圖數(shù)量就是固定,萬一哪天又多了一排呢,所以我們還是嵌套RecyclerView,具體嵌套規(guī)則如下圖:
其實最外層的RecyclerView1換成ScrollView也可以,只要把內(nèi)部的RecyclerView依次拼接起來就可以,實現(xiàn)起來也更加簡單,實現(xiàn)方式千千萬,自己選個喜歡的而已,我只是為了便于拓展,萬一需要動態(tài)的增加欄目呢。
上一篇就說到了RecyclerView的嵌套的問題,給每個RecyclerView設(shè)置對應(yīng)的Fully****LayoutManager就可以了。具體實現(xiàn)參見源碼,我就不貼了,重新getItemViewType方法為每個position位置的item設(shè)置不同的type類型,然后在onCreateViewHolder創(chuàng)建對應(yīng)的Holder,最后在onBindViewHolder為不同類型的item設(shè)置不同的Fully布局的子RecyclerView就行了。
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof MyViewHolder1){
holder.child_recyclerView.setLayoutManager(new FullyLinearLayoutManager(context));
}else if (holder instanceof MyViewHolder2){
holder.child_recyclerView.setLayoutManager(new FullyGridLayoutManager(context, 2, GridLayoutManager.VERTICAL, false));
}else if (holder instanceof MyViewHolder3){
holder.child_recyclerView.setLayoutManager(new FullyGridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false));
}else if (holder instanceof MyViewHolder4){
holder.child_recyclerView.setLayoutManager(new FullyGridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false));
}
}
android沒有狀態(tài)欄和導(dǎo)航欄可以這樣回到首頁
輕觸導(dǎo)航鍵正中間即可返回上一級界面。如您操作不習(xí)慣,也可設(shè)置屏幕內(nèi)虛擬導(dǎo)航按鍵,方法如下:進(jìn)入設(shè)置-系統(tǒng)(導(dǎo)航鍵)-系統(tǒng)導(dǎo)航,選擇屏幕內(nèi)虛擬導(dǎo)航欄即可。
intent-filter
action?android:name="android.intent.action.MAIN"?/
category?android:name="android.intent.category.LAUNCHER"?/
/intent-filter
在androidmanifest.xml中設(shè)置了這個的為首頁
Android Studio安裝完成后,第一次啟動AS前,為了?避免重新下載新版本的SDK?,操作如下:
AS啟動前,請先將bin目錄的idea.properties文件中增加一行:disable.android.first.run=true?就行了,避免第一次打開AS時自動重新下載SDK。mac平臺的右鍵安裝包-Show Package Contents 就找到bin目錄了
第一次打開Android Studio時,需要配置JDK和SDK: