java - Android:不同屏幕尺寸无法显示相同内容的问题

标签 java android button layout

总的来说,我对 Android/Java/编程很陌生,如果这是一个愚蠢的问题,我很抱歉。

我一直在为我的 LG G3 制作一个小游戏,网格布局看起来不错 (9x9),可以在这里找到:/image/OwT3p.png

但是,我最近在模拟器(Nexus 5)上对其进行了测试,布局结果如下:/image/dixlA.png (它现在是一个 8x9 网格,并流过屏幕边缘。)

我已将所有按钮的宽度和高度设置为“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|right"
android:background="#ff000000"
android:layout_centerHorizontal="true"
android:id="@+id/fifteen_by_fifteen">

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


<Button
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    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="50dp"
    android:rowCount="9"
    android:columnCount="9"
    android:layout_gravity="center">


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

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

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

81 个按钮依此类推。

那么我应该怎样做才能使 9x9 网格在所有设备上可见?

感谢您的帮助

最佳答案

阅读有关屏幕尺寸的内容: https://stackoverflow.com/a/17547325/3552583

为了获得更好的“响应式”设计,请使用权重属性。

这里的文档:http://developer.android.com/guide/topics/ui/layout/linear.html

编辑:此处示例:http://www.101apps.co.za/index.php/articles/using-android-s-layout-weight-attribute.html

祝你好运;)

关于java - Android:不同屏幕尺寸无法显示相同内容的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28799379/

相关文章:

grails - Grails按钮无法执行我的操作?

java - Spring H2 嵌入式数据库

Java 迭代字节数组中的位

android - 尝试获取已安装的应用程序列表时出现 TransactionTooLargeException

android - Deeplink 中的附加数据,带有启动应用程序的链接

android - 如何从同一 Activity 中按钮上的 OnClickListener 内部获取 FragmentActivity 中的 TextView 引用

java - 用于 JSON 的 jQuery

java - 在集成测试期间防止 spring-rabbit 中的@RabbitListener 尝试连接到服务器

android - 如何使用 Native Development Kit (NDK) 在 C 中实现棕褐色色调?

c# - WPF - 带有按钮项的组合框