本篇文章為大家展示了如何在Android應(yīng)用中實(shí)現(xiàn)一個(gè)動(dòng)態(tài)searchview搜索欄效果,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)是一家以網(wǎng)站設(shè)計(jì)建設(shè),成都小程序開(kāi)發(fā)、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),網(wǎng)絡(luò)軟件產(chǎn)品開(kāi)發(fā),企業(yè)互聯(lián)網(wǎng)推廣服務(wù)為主的民營(yíng)科技公司。主要業(yè)務(wù)涵蓋:為客戶提供網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站開(kāi)發(fā)、國(guó)際域名空間、網(wǎng)站優(yōu)化排名、買鏈接等服務(wù)領(lǐng)域。憑借建站老客戶口碑做市場(chǎng),建設(shè)網(wǎng)站時(shí),根據(jù)市場(chǎng)搜索規(guī)律和搜索引擎的排名收錄規(guī)律編程,全力為建站客戶設(shè)計(jì)制作排名好的網(wǎng)站,深受老客戶認(rèn)可和贊譽(yù)。實(shí)現(xiàn)這個(gè)效果, 只要關(guān)注幾個(gè)點(diǎn)
1.搜索欄伸展和收縮動(dòng)畫(huà)效果實(shí)現(xiàn)
2.搜索欄伸展和收縮的時(shí)機(jī)
3.頂部透明度的漸變
搜索欄伸展和收縮動(dòng)畫(huà)效果實(shí)現(xiàn):
我們只要明確,使用系統(tǒng)為我們提供的Transition框架,就可以輕而易舉的實(shí)現(xiàn)了。
首先要引入依賴compile 'com.android.support:design:25.3.1',要知道我們使用到的這部分Transition效果只是封裝了屬性動(dòng)畫(huà)的內(nèi)容,是可以兼容到5.0之前的。
private void expand() { //設(shè)置伸展?fàn)顟B(tài)時(shí)的布局 tvSearch.setText("搜索簡(jiǎn)書(shū)的內(nèi)容和朋友"); RelativeLayout.LayoutParams LayoutParams = (RelativeLayout.LayoutParams) mSearchLayout.getLayoutParams(); LayoutParams.width = LayoutParams.MATCH_PARENT; LayoutParams.setMargins(dip2px(10), dip2px(10), dip2px(10), dip2px(10)); mSearchLayout.setLayoutParams(LayoutParams); //設(shè)置動(dòng)畫(huà) beginDelayedTransition(mSearchLayout); } private void reduce() { //設(shè)置收縮狀態(tài)時(shí)的布局 tvSearch.setText("搜索"); RelativeLayout.LayoutParams LayoutParams = (RelativeLayout.LayoutParams) mSearchLayout.getLayoutParams(); LayoutParams.width = dip2px(80); LayoutParams.setMargins(dip2px(10), dip2px(10), dip2px(10), dip2px(10)); mSearchLayout.setLayoutParams(LayoutParams); //設(shè)置動(dòng)畫(huà) beginDelayedTransition(mSearchLayout); } void beginDelayedTransition(ViewGroup view) { mSet = new AutoTransition(); //設(shè)置動(dòng)畫(huà)持續(xù)時(shí)間 mSet.setDuration(300); // 開(kāi)始表演 TransitionManager.beginDelayedTransition(view, mSet); }