因此,当我在Android上使用react-native Alert.alert()函数时,它会显示一个默认样式的android警报。我想要根据设备制造商设置提醒样式,例如 Samsung 上的 OneUI(示例:1 和 2 以及 Samsung Developer API)。这可以通过react-native实现吗?
我的示例代码:
import {Alert, Button} from "react-native";
export default function Test() {
return (
<>
<Button title={'show alert'} onPress={() => {
Alert.alert("Hello", "This is three option alert.", [
{
text: "May be",
},
{
text: "Yes",
},
{
text: "No",
},
])
}}/>
</>
)
}
我尝试询问 gpt 并在 Google 上搜索解决方案,但没有结果。
在 Android 中,React Native Alert 正在调用
com.facebook.react.modules.dialog
中的功能,它是一个自定义对话框,与 Android 的 AlertDialog
无关。
因此,如果您想使用原生 AlertDialog,请不要选择以下选项:
编写自己的NativeModule,使用AlertDialog创建代码创建一个方法:https://reactnative.dev/docs/native-modules-android#export-a-native-method-to-javascript
尝试使用
android:alertDialogTheme
主题自定义主题 React Native Alert (android:Theme.Dialog.Alert
),这些链接可能会帮助您这样做:
https://developer.android.com/develop/ui/views/theming/themes
https://stackoverflow.com/a/59725096/15847234