简体   繁体   English

ANDROID:布局在不同的设备上看起来并不相同

[英]ANDROID: Layouts do not look the same on different devices

I recently had a friend with a basic low resolution droid download my app. 最近,我有一个基本的低分辨率机器人机器人下载我的应用程序。 Everything was looking about the same, but her phone made the text seem larger than mine. 一切看上去都差不多,但是她的电话让文字看起来比我的大。 This is okay, but then she went to a layout that had a grid view and this happened: 没关系,但是随后她转到了具有网格视图的布局,这发生了:

http://imgur.com/VdE6fCE http://imgur.com/VdE6fCE

As you see the grid falls off the screen. 如您所见,网格从屏幕上掉落了。

Here is what it looks like on my LG G3 phone: 这是我的LG G3手机上的外观:

http://imgur.com/AfeGFKE http://imgur.com/AfeGFKE

I was confused as in my layout I used "dp" as the size. 我感到困惑,因为在布局中我使用“ dp”作为大小。 Here is the layout xml file: 这是布局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>

Does anyone have an idea as to why this might be? 有谁知道为什么会这样吗?

Thanks for all help :) 感谢您的所有帮助:)

you can set layout qualifiers for different screens. 您可以为不同的屏幕设置布局限定符。 have a look at this 看看这个

Here is Simple Solution for this: 这是此的简单解决方案:

  1. Set LinearLayout height and widht to match_parent. 将LinearLayout的高度和宽度设置为match_parent。

  2. Inside this LinearLayout, Use android:weightSum="" ; 在此LinearLayout中,使用android:weightSum =“” ;

  3. Set the layout_weight for each section of button to same value(ex:1) and layout_height to 0dp 将按钮各部分的layout_weight设置为相同的值(例如:1),并将layout_height设置为0dp

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

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