我正在努力奔跑
detox build -c android.emu.release
但是当它尝试编译时失败DetoxTest.java并出现以下错误
~/android/app/src/androidTest/java/<package_name>/DetoxTest.java:24: error: cannot find symbol
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
^
symbol: class MainActivity
location: class DetoxTest
~/android/app/src/androidTest/java/<package_name>/DetoxTest.java:24: error: cannot find symbol
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
^
symbol: class MainActivity
location: class DetoxTest
Run Code Online (Sandbox Code Playgroud)
我尝试从包中导入 MainActivity 但我找不到包。
RN 0.51.1 排毒:7.4.3
我刚刚安装了 react native 并创建了一个新项目,但是当我使用react-native run-android命令运行它时,它给出了错误。我没有在刚刚创建的项目的任何文件中更改任何内容。
这是它的错误和屏幕截图。

开发服务器返回响应错误码:500
网址:http : //10.0.2.2 : 8081/index.delta?platform=android&dev=true&minify=false
身体:
在“C:\project\test\App.js”中找不到/react-transform-hmr/lib/index.js'。事实上,这些文件都不存在:\n * 'C:\react-transform-hmr\lib\index.js(.native||.android.js|.native.js|.js|.android.json|. native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)'\n * 'C:\react-transform-hmr\lib\index .js\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android .tsx|.native.tsx|.tsx)'\n 在 ModuleResolver.resolveDependency (C:\project\test\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:209:697)\n 在 ResolutionRequest .resolveDependency (C:\project\test\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:83:16)\n 在 DependencyGraph.resolveDependency (C:
请帮我摆脱这个...
我在强制聚焦本机 TextInput 字段时遇到了麻烦。当页面加载autofocus={true}.
但是在模糊之后,我需要按下文本输入字段,但由于设计原因,这是隐藏的。有没有办法document.getElementById("myText").focus();反应原生,我可以在之后调用onBlur()?
干杯。
react-native react-native-android react-native-ios react-native-textinput
我正在尝试提高 React Native 应用程序的可访问性,但面临以下问题:当用户打开菜单抽屉时,焦点不会更改为模态抽屉内容。相反,向左和向右滑动会聚焦在背景中的内容。
我尝试为抽屉和主要内容区域设置动态无障碍道具:
<NavigationMenu
importantForAccessibility={isNavigationVisible ? 'yes' : 'no-hide-descendants'}
/>
<DashboardContent
importantForAccessibility={isNavigationVisible ? 'no-hide-descendants' : 'yes'}
/>
Run Code Online (Sandbox Code Playgroud)
isNavigationVisible抽屉打开时更新的道具在哪里,但这没有效果。
有没有办法在抽屉打开时强制将焦点更改到抽屉?
accessibility reactjs react-native react-native-android react-native-ios
我有以下渲染功能:
render() {
return (
<View style={styles.container}>
<View style={styles.header}>
<Text> Header
</Text>
</View>
<View style={styles.services}>
<Text>Services</Text>
</View>
<View style={styles.chart}>
<VictoryChart>
<VictoryLine
style={{
data: {stroke: "#c43a31"},
parent: {border: "1px solid #ccc"}
}}
data={[
{x: 1, y: 2},
{x: 2, y: 3},
{x: 3, y: 5},
{x: 4, y: 4},
{x: 5, y: 7}
]}
/>
</VictoryChart>
</View>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
我在页面底部有某种图表,但我无法强制图表填充其父级,它的专用部分有点溢出,我该如何实现?(我尝试使用flexWrap但没有帮助!)
这是我的这个简单设计的样式表:
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
header: {
flex: 1,
backgroundColor: …Run Code Online (Sandbox Code Playgroud) layout flexbox react-native react-native-android victory-charts
当我尝试在真实设备上使用 Google Pay 付款(在 TEST 环境中)时,我收到标题中的错误消息。
我曾尝试将“网关”更改为像 google docs 显示的字符串,但到目前为止什么都没有。
const DETAILS = {
id: 'COMPANY',
displayItems: [
{
label: 'Phone Bill',
amount: { currency: 'USD', value: compTotal }
}
],
total: {
label: 'COMPANY',
amount: { currency: 'USD', value: compTotal }
}
};
// GOOGLE PAY
const METHOD_DATA = [{
supportedMethods: ['android-pay'],
data: {
supportedNetworks: ['visa', 'mastercard', 'amex'],
currencyCode: 'USD',
environment: 'TEST', // defaults to production
paymentMethodTokenizationParameters: {
tokenizationType: 'GATEWAY_TOKEN',
parameters: {
gateway: 'braintree',
'braintree:tokenizationKey': 'sandbox_XXXXXXXXXXX'
}
}
} …Run Code Online (Sandbox Code Playgroud) javascript react-native-android payment-request-api google-pay
我正在制作一个使用 gps 访问用户位置的应用程序。这就是为什么我在 AndroidManifest.xml 中添加了以下几行
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
下面是我获取用户位置的函数
componentWillMount(){
navigator.geolocation.getCurrentPosition(
position => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
},
error => Alert.alert(error.message),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
);
}
Run Code Online (Sandbox Code Playgroud)
但这会产生错误,即应用程序无权访问位置,我需要声明
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)
在清单文件中。我尝试了很多方法并找到了一个解决方案,即要求运行时许可。所以我还在我的代码中添加了以下几行
try {
const granted = PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
'title': 'Location Permission',
'message': 'This app needs access to your location',
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the location")
} else {
console.log("Location permission denied")
}
} …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有一个文本输入,用作搜索栏,我知道 Android 有一个 API 来显示搜索类型键盘,我想知道如何在 react-native 中使用它。
我查看了 react-native 文本输入文档,但没有找到适用于 Android 中该类型键盘的任何内容。

任何人都知道我可以在文本输入中使用哪种类型的键盘来获得想要的结果?
textinput react-native react-native-android react-native-textinput
我正在用 expo 为原生的 Android 开发应用程序。我正在使用 expo 的 Audio.Sound API 来在我的应用程序中播放不同的声音。令我烦恼的是,每当我按下 TouchableOpacity 组件时,我都会同时收到我的声音和来自 Android 的默认 onPress 声音(只有当我将手机硬件按钮的声音静音时,它才会消失)。我想禁用默认声音。有没有办法从本机代码以编程方式执行此操作?
我正在制作一个 react-native 移动应用程序,我有一个导航抽屉,上面有一个注销按钮。我知道如何从那里导航到登录屏幕,使用props.navigation.navigate('Login'),但问题是如果用户这样做,他们仍然可以从登录屏幕打开抽屉并导航回其他屏幕之一,或者按后退按钮在安卓上。
如果用户来自另一个页面,我想我可以在登录屏幕上进行检查,然后禁用打开抽屉按钮,但这似乎有点麻烦。我想知道是否有正确的方法可以做到这一点,也许是在登录时重置堆栈,我不确定。
react-native ×7
android ×1
detox ×1
expo ×1
flexbox ×1
google-pay ×1
javascript ×1
layout ×1
reactjs ×1
textinput ×1