support

Support Library 25.0.0 更新講解

字?jǐn)?shù)564閱讀4704評論29喜歡41

Support Library 25.0.0

伴隨著Android 7.1(API 25)的的發(fā)布,一系列相關(guān)的開發(fā)工具與套件也一起更新了,包括Android Studio 2.2.2與Support Library 25.0.0。其中AS的更新包括日常的bug修復(fù)與性能提升,還有對7.1的支持。而Support包的更新如下:

Important changes

ContextCompat的構(gòu)造方法變?yōu)閜rotected

ActivityCompat的構(gòu)造方法變?yōu)閜rotected

ActivityCompat的getReferer(Activity)方法變?yōu)閟tatic

刪除方法android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)

刪除方法android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)

刪除方法android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)

刪除方法android.support.v7.widget.Space,應(yīng)當(dāng)使用android.support.v4.widget.Space.(作者注:在布局需要空白View時很高效)

New APIs

新增android.support.design.widget.BottomNavigationView類(更新的主角),實現(xiàn)了Material Design中的bottom navigation設(shè)計樣式,就是我們常見的底部tab欄

設(shè)計標(biāo)準(zhǔn)

新增android.support.v13.view.inputmethod包,其中的相關(guān)類實現(xiàn)了在API 13時引入的android.view.inputmethod.InputConnection特性

新增android.v7.widget.RecyclerView.DividerItemDecoration類,提供RecyclerView分割線的一種基礎(chǔ)實現(xiàn),目前只支持LinearLayoutManager的橫向和縱向布局

將API 24中引入的自定義Notification布局的相關(guān)類加入到兼容包中,即DecoratedCustomViewStyle和DecoratedMediaCustomViewStyle

功能預(yù)覽

Screenshot

作者第一時間嘗試了其中的部分新API,交互效果真的很棒,建議運行demo查看細節(jié)!下面大概說下使用方式:

首先在布局中引入BottomNavigationView,

可以看到使用了design的三個自定義attr,menu是用來指定tab欄中的各個tab的,官方說tab數(shù)量應(yīng)該介于3個到5個之間,所以這里以3個item為例,測試menu如下

itemIconTint是為tab里的icon著色,這里使用了跟文字相同的顏色效果。代碼中就比較簡單了:

navigationView = (BottomNavigationView) findViewById(R.id.navigation);navigationView.setOnNavigationItemSelectedListener(newBottomNavigationView.OnNavigationItemSelectedListener() {@OverridepublicbooleanonNavigationItemSelected(@NonNull MenuItem item){? ? ? ? ? Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();returnfalse;? ? }});

而上方的應(yīng)用列表則使用RecyclerView,并搭配了新的divider類:

mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview);mLayoutManager =newLinearLayoutManager(this);mRecyclerView.setLayoutManager(mLayoutManager);mAdapter =newAppInfoAdapter(this, getAppInfo(), R.layout.item_app_info);mRecyclerView.setAdapter(mAdapter);// New in recyclerview-25.0.0mRecyclerView.addItemDecoration(newDividerItemDecoration(this, mLayoutManager.getOrientation()));

調(diào)用DividerItemDecoration中的setDrawable(@NonNull Drawable drawable)方法是可以替換divider樣式的。

結(jié)語

介紹就到這里了,示例demo的代碼在這里(github),歡迎大家下載體驗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容