ANDROID:不同设备上的布局看起来不一样

时间:2015-03-28 18:08:28

标签: java android size screen

我最近有一个朋友用基本的低分辨率机器人下载我的应用程序。一切看起来都差不多,但她的手机让文字看起来比我大。这没关系,但后来她去了一个有网格视图的布局,这发生了:

http://imgur.com/VdE6fCE

如您所见,网格从屏幕上掉下来。

以下是我在LG G3手机上的样子:

http://imgur.com/AfeGFKE

我很困惑,因为在我的布局中我使用“dp”作为大小。这是布局xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"
android:background="#ff000000"
android:layout_centerHorizontal="true"
android:id="@+id/activity_game">

<Button
    android:layout_width="80dp"
    android:layout_height="50dp"
    android:textSize="23sp"
    android:background="@android:color/transparent"
    android:text="@string/back"
    android:layout_gravity="right"
    android:textColor="#ffff274a"
    android:id="@+id/back_button"/>


<Button
    android:layout_width="wrap_content"
    android:layout_height="65dp"
    android:textSize="30sp"
    android:background="@android:color/transparent"
    android:id="@+id/show_unknown_distance_button"
    android:layout_gravity="center_horizontal"
    android:textStyle="bold"
    android:textColor="#ff59e4ff"/>

<GridLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="43dp"
    android:rowCount="5"
    android:columnCount="5"
    android:layout_gravity="center">

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/zero_zero"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="0"
        android:layout_column="0" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/zero_one"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="0"
        android:layout_column="1" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/zero_two"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="0"
        android:layout_column="2" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/zero_three"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="0"
        android:layout_column="3" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/zero_four"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="0"
        android:layout_column="4" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/one_zero"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="1"
        android:layout_column="0" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/one_one"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="1"
        android:layout_column="1" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/one_two"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="1"
        android:layout_column="2" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/one_three"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="1"
        android:layout_column="3" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/one_four"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="1"
        android:layout_column="4" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/two_zero"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="2"
        android:layout_column="0" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/two_one"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="2"
        android:layout_column="1" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/two_two"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="2"
        android:layout_column="2" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/two_three"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="2"
        android:layout_column="3" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/two_four"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="2"
        android:layout_column="4" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/three_zero"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="3"
        android:layout_column="0" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/three_one"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="3"
        android:layout_column="1" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/three_two"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="3"
        android:layout_column="2" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/three_three"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="3"
        android:layout_column="3" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/three_four"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="3"
        android:layout_column="4" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/four_zero"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="4"
        android:layout_column="0" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/four_one"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="4"
        android:layout_column="1" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/four_two"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="4"
        android:layout_column="2" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/four_three"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="4"
        android:layout_column="3" />

    <Button
        android:layout_width="65dp"
        android:layout_height="66dp"
        android:id="@+id/four_four"
        android:layout_margin="1dp"
        android:layout_gravity="center"
        android:paddingTop="1dp"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:paddingBottom="1dp"
        android:layout_row="4"
        android:layout_column="4" />




    </GridLayout>

</LinearLayout>

有没有人知道为什么会这样?

感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

您可以为不同的屏幕设置布局限定符。看看this

答案 1 :(得分:0)

这是简单的解决方案:

  1. 设置LinearLayout高度并将widht设置为match_parent。

  2. 在此LinearLayout中, 使用 android:weightSum =&#34;&#34; ;

  3. 将按钮的每个部分的 layout_weight 设置为相同的值(例如:1),将layout_height设置为0dp