适用于多种屏幕大小的Android布局

Sul*_*dat 4 android android-layout

我正在开发一款Android应用,我们针对所有屏幕尺寸进行定位?我如何制作布局?我应该为每种类型的屏幕制作不同的layout.xml,还是有其他"有效"的做事方式?

Vin*_*rat 6

阅读支持多个屏幕,特别是"屏幕独立的最佳实践"部分.

基本规则:

  • 在XML布局文件中指定维度时,请使用wrap_content,fill_parent或dp单位(而不是px)
  • 不要使用AbsoluteLayout
  • 不要在代码中使用硬编码像素值
  • 使用密度和/或分辨率特定资源
  • 实际上,即使您的布局适用于平板电脑,您也需要为这些超大型设备提供不同的布局,以增强用户体验.

编辑您的屏幕截图.

<ImageButton
        android:id="@+id/btnSubmit"
        android:src="@drawable/submit"
        android:layout_height="22dp"
        android:layout_width="85dp"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/confirmpassword"
        android:layout_centerInParent="true" />
Run Code Online (Sandbox Code Playgroud)

您在此处指定了两个可能无法很好地一起使用的垂直约束.而不是layout_centerInParent,尝试layout_centerHorizo​​ntal.

你也可以给RelativeLayout一个gravity ="top | center_horizo​​ntal".因此,默认情况下,元素在视图中水平居中并粘在顶部.

也尝试在firstname下面对齐btnSignin而不是username.你可能很幸运.

RelativeLayout是最复杂的布局.如果你在一段时间后无法正确使用它,你可以简单地决定使用嵌套的LinearLayout组合