在React Native官方組件中墓懂,目前只有ActionSheetIOS,而Android下沒有實現(xiàn)蒿讥。我自己在Github提交了一個代碼庫挥等,實現(xiàn)了在iOS和Android下通用的ActionSheet友绝。
Github地址:https://github.com/gaoxiaosong/react-native-general-actionsheet
這個庫實現(xiàn)了一個自定義容器,用來根據(jù)配置項展示ActionSheet肝劲。在iOS下迁客,可以選擇是使用ActionSheetIOS
還是使用自定義容器,在Android下涡相,只能使用自定義容器。
目前只支持ActionSheet.showActionSheetWithOptions
的調用剩蟀。
截屏
橫屏圖片和iOS自定義容器的圖片請參見Github倉庫催蝗。
安裝
采用如下兩種方式之一即可:
npm install --save react-native-general-actionsheet
yarn add react-native-general-actionsheet
使用
在文件中進行如下調用即可:
import ActionSheet from 'react-native-general-actionsheet';
ActionSheet.showActionSheetWithOptions(options, callback);
參數(shù)options
和callback
和ActionSheetIOS的調用一樣.
使用ActionSheetIOS
可以全局的改變,在iOS系統(tǒng)中是否使用ActionSheetIOS
:
import ActionSheet from 'react-native-general-actionsheet';
ActionSheet.useActionSheetIOS = true/false;
自定義樣式
用戶可以全局的改變容器的樣式設置育特。
import ActionSheet from 'react-native-general-actionsheet';
ActionSheet.Container.defaultProps.xxx = yyy;
其中xxx支持如下屬性:
名稱 | 類型 | 描述 |
---|---|---|
backgroundColor | string | 整個視圖的背景色 |
contentBackgroundColor | string | 內容區(qū)的背景色 |
separatorColor | string | 分隔線的顏色 |
fontSize | number | 按鈕文本的字號 |
color | string | 按鈕文本的顏色 |
titleStyle | object | 頂部標題的樣式 |
messageStyle | object | 頂部消息的樣式 |
destructiveButtonStyle | object | 輔助按鈕的樣式 |
cancelButtonStyle | object | 取消按鈕的樣式 |
touchableUnderlayColor | string | 按鈕點擊操作的Underlay顏色 |
supportedOrientations | array | iOS支持的設備方向 |