一、需求分析
原生開(kāi)發(fā)中,自定義View可謂是屢見(jiàn)不鮮的事情,往往系統(tǒng)的控件總不能滿足現(xiàn)實(shí)的需求。五花八門的產(chǎn)品設(shè)計(jì)需要我們做出不同的View。關(guān)于自定義View的內(nèi)容網(wǎng)上已經(jīng)有很多的博文,本篇博客要和大家分享如何在React Native中自定義組件實(shí)現(xiàn)抽屜菜單控件效果。分享功能在App中的重要性想必是不言而喻的,那么RN中如何實(shí)現(xiàn)這種效果呢?
React Native 系統(tǒng)庫(kù)中只提供了IOS的實(shí)現(xiàn),即ActionSheetIOS.該控件的顯示方式有兩種實(shí)現(xiàn):
(1)showActionSheetWithOptions
(2)showShareActionSheetWithOptions
第一種是在iOS設(shè)備上顯示一個(gè)ActionSheet彈出框。第二種實(shí)現(xiàn)是在iOS設(shè)備上顯示一個(gè)分享彈出框。借用官方的圖片說(shuō)明如下:
IOS設(shè)備上的實(shí)現(xiàn)系統(tǒng)已經(jīng)提供了,接下來(lái)我們就需要如何適配Android。在原生開(kāi)發(fā)中,自定義View也是有基本的流程:
(1)自定義控件類,繼承View或系統(tǒng)控件。
(2)自定義屬性
(3)獲取自定義屬性,并初始化一系列工具類
(4)重寫onMeasure方法,對(duì)控件進(jìn)行測(cè)量
(5)如果是自定義布局,還需要重寫onLayout進(jìn)行布局
在React Native中自定義組件的思路基本和原生自定義相似。所以按照這個(gè)流程,我們一步步實(shí)現(xiàn)即可。
二、功能實(shí)現(xiàn)
1、自定義組件,實(shí)現(xiàn)Component
export default class AndroidActionSheet extends Component
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。