当前位置: 首页 > 知识库问答 >
问题:

对本地资源问题做出反应

衡子安
2023-03-14

我是一名Android应用程序开发人员,从上一个月开始研究 React 原生。我有问题,对于那些我无法找到解决方案的人:

>

  • 确实反应原生使用sp而不是dp来表示字体大小,并且如果我们想使用dp来表示字体大小怎么办。

    我想为布局提供hdpixhdpi 维度,如何做到这一点?

    如何为7英寸平板电脑、10英寸平板电脑和手机提供单独的尺寸?出于某种目的,我想为react-native实现isDeviceTablet()方法,如何实现?

  • 共有3个答案

    程鸿煊
    2023-03-14

    我觉得这个可以帮到你。https://www . npmjs . com/package/react-native-responsive-dimensions

    • 字体大小根据屏幕大小自动缩放
    <Text style = {{fontSize: responsiveFontSize(2), color: PRIMARY_COLOR}}>Abonnement</Text>
    

    2:是正常大小

    • 图像比例
    <Image style = {{width: responsiveWidth(100), height: responsiveHeight(100)}} source={CONNECTION_BACKGROUND}/>
    
    越学义
    2023-03-14

    我已经找到了你的问题的第三和第二个答案。要知道你必须使用什么尺寸以及如何使用,请阅读以下内容:https://facebook.github.io/react-native/docs/pixelratio.html 并且要知道例如设备是否是平板电脑,你可以使用这个库:https://www.npmjs.com/package/react-native-device-detection 我希望它对你有用!!!:D

    郎成龙
    2023-03-14

    请在下面找到您问题的答案:

    1)react-native对字体大小使用sp而不是dp吗,如果我们想对字体大小使用dp呢?

    是的react-原生使用sp作为字体大小,android也是如此,所以你不需要将其更改为dp。https://developer . Android . com/reference/Android/widget/text view . html # attr _ Android:text size

    2) 我想为布局提供hdpi、xhdpi和xxhdpi维度,如何做到这一点?

    没有特定的文件夹可以直接支持尺寸。在这种情况下,您应该使用像素圈的概念。https://facebook.github.io/react-native/docs/pixelratio.html

    如需提供响应式字体大小,您可以查看以下链接以供参考:React Native响应式字体大小

    3)如何为7英寸平板电脑,10英寸平板电脑和手机提供单独的尺寸?出于某种目的,我想实现是针对反应原生的即设备Tablet()方法,如何做到这一点?

    在android代码中创建检查isDeviceTablet()方法的方法,然后在js文件中调用该方法。

    要检查isDeviceTablet(),请查看以下链接以供参考:确定设备是智能手机还是平板电脑?

    要在js文件中调用android方法,请按照以下步骤操作:

    创建一个UtilityControllerModule类:

    public class UtilityController implements ReactPackage {
        public UtilityController(Activity activity) {
    
        }
    
        public UtilityController() {
    
        }
    
        @Override
        public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
            return Arrays.<NativeModule>asList(new UtilityControllerModule(reactContext));
        }
    
        @Override
        public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
            return Collections.emptyList();
        }
    }
    

    创建模块类:

    public class UtilityControllerModule extends ReactContextBaseJavaModule {
        ReactApplicationContext reactContext;
    
        public UtilityControllerModule(ReactApplicationContext reactContext) {
            super(reactContext);
            this.reactContext = reactContext;
        }
    
        @Override
        public String getName() {
            return "UtilityController";
        }
    
    
        @ReactMethod
        public void isTablet(Callback callback) {
            boolean tabletSize = reactContext.getResources().getBoolean(R.bool.isTablet);
            Log.e("isTablet >>", "" + tabletSize);
            callback.invoke(tabletSize);
        }
    }
    

    现在在您要调用此方法的js文件中:

    import { NativeModules } from 'react-native';
    
    var UtilityController = NativeModules.UtilityController
    

    现在调用isTablet(),

    componentDidMount(){
        UtilityController.isTablet((isTabletCallback)=>{
          console.log("isTabletJs>>",isTabletCallback);
        });
      }
    
     类似资料:
    • 前面小节我们介绍了如何设置Locale,设置好Locale之后我们需要解决的问题就是如何存储相应的Locale对应的信息呢?这里面的信息包括:文本信息、时间和日期、货币值、图片、包含文件以及视图等资源。那么接下来我们将对这些信息一一进行介绍,Go语言中我们把这些格式信息存储在JSON中,然后通过合适的方式展现出来。(接下来以中文和英文两种语言对比举例,存储格式文件en.json和zh-CN.jso

    • 问题内容: 在Java中,我可以为位于硬盘驱动器本地的文件创建URI吗?如果是这样,应该如何构造? 问题答案: 查看文件文档: File具有构造函数,该构造函数将URI作为参数,并且如果您想从现有文件中获取URI ,它也具有方法。您可以玩这个游戏,以了解应该如何做。 您还可以阅读有关URI(不是Java术语)的信息。维基百科中有一个示例: 文件:///home/username/RomeoAndJ

    • 我目前正在为一个即将到来的项目评估电子。也许我的问题对于使用电子的人来说是微不足道的。然而,我在留档中找不到答案,或者可能没有完全掌握这个概念。 我想有一个网络应用,用户可以通过浏览器访问,如果他们选择或从本机应用,如果他们想使用USB设备(在本例中,是信用卡阅读器)连接到他们的电脑。因此,主。js文件会像这样打开远程web应用程序 能够访问本地资源有什么区别吗(文件、端口等,如果页面是远程的还是

    • 我对Hazelcast很陌生,很可能我错过了一些显而易见的东西,但这里要说。我有一个运行分布式的Java应用程序,每个应用程序都包含自己的Hazelcast实例。我需要Hazelcast调度一个作业,它将以固定的速率运行,但绝不会同时在几个实例上运行。为此,我计划使用IScheduledExecutorService并创建一个实现Runnable和NamedTask的作业。我的问题是作业需要在应用

    • 在传统的Web开发中,PHP创建的对象、数据、资源等会在请求完毕后全部释放,导致很难做到持久化。而在WorkerMan中可以轻松做到这些。 在WorkerMan中如果想在内存中永久保存某些数据资源,可以将资源放到全局变量中或者类的静态成员中。 例如下面的代码: 用一个全局变量$connection_count保存一个当前进程的客户端连接数。 <?php use WorkermanWorker; r