【问题标题】:Different UI for Tablet and Mobile平板电脑和手机的不同用户界面
【发布时间】:2017-03-16 19:30:57
【问题描述】:

我正在使用一个平板电脑移动模式的应用程序。

我有点困惑。

UIWEBAPI 仅适用于一个屏幕。

我可以在同一应用中进行这些更改吗?

或者

我必须为平板电脑模式创建一个不同的应用程序

【问题讨论】:

    标签: android user-interface tablet smartphone


    【解决方案1】:

    最后我用下面的代码解决了我的问题。

    在app > src > main > res > values > bool.xml下创建bool.xml文件

    valuesvalues-sw600dpvalues-sw720dp

    相同

    bool.xml 表示

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isTablet">false</bool>
    </resources>
    

    bool.xml 用于 values-sw600dp

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isTablet">true</bool>
    </resources>
    

    bool.xml 用于 values-sw720dp

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isTablet">true</bool>
    </resources>
    

    现在只做以下事情。

    // Global Variable
    boolean isTablet;
    
    //Get Value from values bool.xml file
     isTablet = getResources().getBoolean(R.bool.isTablet);
    
    //Now check condition
    if(isTablet){
          //Device is tablet
    }else{
          //Device is mobile
    }
    

    【讨论】:

      【解决方案2】:

      您可以创建具有最小宽度约束的布局。如果是这样:

      XML 布局文件夹 => 新文件 => 布局资源文件 =>

      • 与其他文件同名
      • 可用的限定符 => 最小宽度 =>(示例)600

      然后去做一个对平板电脑有意义的布局。 *Android 将为屏幕尺寸选择正确的 XML。

      【讨论】:

        【解决方案3】:

        您可以为该特定页面创建一个具有相同名称的新布局 喜欢

        res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
        res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
        res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
        

        【讨论】:

        • 我知道那个兄弟。如果我的平板电脑和手机布局相同,这是可能的。但就我而言,平板电脑和移动设备的用户界面完全不同。
        • 它只适用于一项活动。然后您以编程方式检查它是标签还是移动设备并转移您的活动。我认为它比创建 2 个应用程序要好。
        • 也采用fragment 怎么样?
        • 还有太多其他的东西,比如平板模式应该支持旋转,而移动模式应该只支持纵向模式。 WEB API 也适用于两个屏幕。如果是平板模式,那么整个应用应该支持旋转,而在移动模式下,只有纵向模式。
        • 我认为在同一个应用程序中进行更改比创建新应用程序更好。但是您必须以编程方式检查并转移到不同的片段。如果您在同一个应用程序中构建,则可以根据需要重用片段。我会建议你在同一个应用中做而不是在不同的应用中做
        猜你喜欢
        • 1970-01-01
        • 2011-11-19
        • 2019-03-20
        • 1970-01-01
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多