【问题标题】:360dp is layout looks different on various phones360dp 布局在各种手机上看起来不同
【发布时间】:2018-07-03 15:33:20
【问题描述】:

我的 android 应用中有一个文件夹,标签为:values-sw360dp 我已经在最小宽度为 360 的不同手机上对此进行了测试:

Configuration config = context.getResources().getConfiguration();
int x = (int)config.smallestScreenWidthDp;  //x = 360

但所有这些手机看起来都不同(一些按钮不在屏幕上),尽管它们的 x = 360。我如何为这些不同的手机提供尺寸?

我遇到了以下stackoverflow article,以及这个one,它表示有不同种类的sw360...但我很困惑。

【问题讨论】:

    标签: android android-layout android-fragments material-design


    【解决方案1】:

    res folder view

    在 res 文件夹中 (app\src\main\res) 对于布局,为不同的屏幕尺寸创建文件夹 layout/layout-sw***dp,如图所示 然后在layout/layout-sw***dp里面的xml中,定义views。

    android框架会根据屏幕大小自动引用相关的xml布局文件。

    例如,如果设备属于 sw360dp,则 layout-sw360dp 中的 xml 将被使用/膨胀,

    同样,您可以使用 values 文件夹(如图所示),例如,我们可以为不同的屏幕尺寸定义不同的填充和边距值(如果需要)。

    【讨论】:

    • tanni 你不明白 - 问题是有很多手机属于 sw360 ,由于其他一些因素,它们看起来都不同。它是什么,我该如何处理?
    • 如果您可以分享您的布局 xml 文件,请。是的,你是对的,很多手机都属于 sw360。
    • 在我的布局中确实没有什么值得一看的,这是布局中一个按钮的示例: 那么你如何处理其他手机属于sw360?
    • 谢谢,完整的 xml 文件会更有用。要理解的一点是即使是10英寸的tabler也属于sw360,因为sw设置的条件是最小宽度应该大于360dp。如果按钮或视图没有显示,那么我觉得它与布局视图有关。例如,按钮占用 210dp 并想象在一行中有 3 个这样的按钮,那么组合宽度可能大于设备宽度。如果您可以分享完整的布局 xml 文件,它将对我们有所帮助。
    猜你喜欢
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多