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

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

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

在App Gradle中,它已经从min。 9 – 22。

当我testing5英寸手机,7英寸平板电脑和不到5英寸手机时,我看到5英寸手机和7英寸平板电脑,它总是使用“布局大”,因此有2个button放置在屏幕的中心水平不能给予适当的间距在平板电脑,它performance出适当的间距在5英寸的手机预期。 你可以请告诉我如何照顾布局的button间距,以支持5英寸手机和7英寸布局与单一布局。 环顾四周,有这么多的build议和困惑了很多…当我看着Android的链接, Android开发人员的链接了解不多。

布局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。 我现在应该做什么来创build“布局”和“绘制”文件夹? 看到在Android和其他论坛链接的链接,我感到困惑。 我在所有布局中都有相对布局,并且设置了宽度和高度的match_parent。 我应该甚至在这里设置静态宽度和高度? – Stella刚才

Solutions Collecting From Web of "手机和平板电脑支持布局视图上的button间距"

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

你可以请告诉我如何照顾布局的button间距,以支持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寸平板电脑的devise是棘手的,因为7寸平板电脑在技术上与5“手机(大型组)相同,而这两个设备看上去彼此接近,应用程序用户界面的空间大小与用户交互的风格大不相同。

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

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

你必须使文件夹可绘制,然后把所有的图像在这是所有types的通用文件夹。 然后你可以把你的button放在相对的布局中,并设置button中心水平=真,并设置填充父母的高度和宽度,并设置左右间距20dp为中心设置。