Android按钮布局适应屏幕尺寸

时间:2014-11-20 14:42:58

标签: java android eclipse button

我是Android开发的新手。我用一个简单的按钮创建了一个简单的项目。我认为 按钮在不同的屏幕尺寸上看起来一样,但是当我预览所有屏幕时,eclipse显示了这个 http://imgur.com/kjEMhHx

这是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:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.businessideas.MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="116dp"
    android:text="Button" />

</RelativeLayout>

你能帮助我并告诉我如何在所有屏幕尺寸上设计该按钮看起来一样吗? 感谢

3 个答案:

答案 0 :(得分:0)

按钮部分更改:

android:layout_width="20dp"
android:layout_height="20dp"

使用特定的DP尺寸在不同的屏幕上保持相同的物理尺寸(用您想要的尺寸替换20)。

答案 1 :(得分:0)

当按钮的父级为LinearLayout时,您需要使用权重属性。这样它会强制按钮的大小与屏幕宽度成正比:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="10"
    android:orientation="horizontal">
    <Button
        android:id="@+id/button1"
        android:layout_height="wrap_content"
        android:layout_marginTop="116dp"
        android:text="Button"
        android:layout_weight="2"
        android:layout_width="0dp"/>
</LinearLayout>

请注意,如果LinearLayout的方向是水平的,宽度将由android(隐式)调整,因此子项的宽度为0dp

另请注意,现在按钮将占据LinearLayout(父级)宽度的20%(2/10)。

答案 2 :(得分:0)

如果您希望您的按钮在所有不同的屏幕中具有相同的尺寸,则必须手动指定DP尺寸。

andoird:layout_width = "20dp"
android:layout_height = "20dp"

您还可以通过将相对布局更改为线性布局,将按钮放在特定位置。