繁体   English   中英

手机和平板电脑支持布局视图上的按钮间距

[英]Phone and tablet support for button spacing on the layout view

我的Android项目中具有以下布局。 因为,我想支持不同大小的android设备和标签的视图。

layout-large
layout-normal
layout-small
layout-xlarge

在App Gradle中,它是从分钟开始设置的。 9-22

当我在5英寸手机,7英寸平板电脑和少于5英寸手机上进行测试时,我发现5英寸手机和7英寸平板电脑始终使用“大布局”,因此屏幕中央放置了2个按钮在Tablet中,水平方向没有提供适当的间距,它在5英寸手机中显示的间距与预期的一样。 您能否建议我如何照顾布局中的按钮间距,以支持5英寸电话和7英寸单一布局的布局。 环顾四周,有太多建议,令人困惑……当我查看android链接时, Android开发人员链接不太了解。

layout-large.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity"
    android:background="@drawable/bg">

    <Button
        android:layout_width="70px"
        android:layout_height="70px"
        android:id="@+id/PlayPauseButton"
        android:onClick="doClick"
        android:layout_marginLeft="81dp"
        android:layout_marginStart="81dp"
        android:layout_marginBottom="169dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="70px"
        android:layout_height="70px"
        android:id="@+id/StopButton"
        android:onClick="stopAudio"
        android:layout_alignTop="@+id/PlayPauseButton"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="102dp"
        android:layout_marginEnd="102dp" />

</RelativeLayout>

更新:

我在问我的问题更加简单。 我有3.2英寸电话,4.2英寸电话,4.3英寸电话,4.5英寸电话,5英寸电话和一个7英寸平板电脑/我想强制在所有这些设备中支持我的应用程序。 我在gradle中设置了最小9最大22。 我现在应该如何创建“布局”和“可绘制”文件夹? 我很困惑,看到android中的链接和其他论坛链接。 我在所有布局中都有相对布局,并且它的宽度和高度都设置为match_parent。 我是否应该在此处设置静态宽度和高度? –斯特拉刚才

对于不同屏幕尺寸的不同布局,请尝试为布局文件夹命名,例如layout-sw600dp而不是layout-large

您能否建议我如何照顾布局中的按钮间距,以支持5英寸电话和7英寸单一布局的布局。

尝试在values/dimens.xmlvalues-sw600dp/dimens.xml具有适当值的维度( <dimen name="dimenName">30dp</dimen> ),并在布局中使用@dimen/dimenName访问它们。

如果您需要更多帮助,请发布该问题的一些屏幕截图。 您还应该尝试使用dp单位而不是px

根据平台版本,只有6.8%的设备低于API 4.0.3,根据屏幕尺寸和密度,只有4.4%的设备比正常尺寸的屏幕小。

  • 因此,您可以删除 layout-small文件夹,并将minSdkVersion14
  • 现在,您可以开始使用新的尺寸组来制作布局,即sw<N>dp

由于报价在这里

使用通用尺寸组时,为7“平板电脑设计的原因很棘手,因为技术上7”平板电脑与5“手机在同一组中(较大的一组)。这两个设备的尺寸似乎彼此接近,应用程序UI的空间量和用户交互方式也有很大不同。

您需要为5“和7”设备定义不同的布局,因此您应该在layout-sw600dp文件夹中为7“进行layout-sw600dp然后将所有内容放到layout文件夹中(除非您为10英寸平板电脑制作layout-sw720dp )。

如果仍然需要5“设备和<5”设备的layout-large不同,请尝试使5“设备的 layout-large ,而对<5”设备进行 layout

您必须使文件夹可绘制,然后将所有图像放入其中。它是所有类型的通用文件夹。 然后,您可以将按钮放置在相对布局中,并将按钮中心水平设置为true,并使用填充父级设置高度和宽度,并在中心位置设置左右边距20dp。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM