Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使使用dp,布局也不适合屏幕截图_Java_Android_Xml_Android Studio_Android Linearlayout - Fatal编程技术网

Java 即使使用dp,布局也不适合屏幕截图

Java 即使使用dp,布局也不适合屏幕截图,java,android,xml,android-studio,android-linearlayout,Java,Android,Xml,Android Studio,Android Linearlayout,我是Android编程新手,正在努力设计我的Tic-Tac-Toe应用程序。 在布局编辑器中,我在屏幕底部有一个按钮。当我在手机上运行应用程序时,只有按钮顶部可见,因为我的屏幕不够大。有人能给我指出正确的方向并解释为什么会这样吗 以下是我手机上应用程序的图片: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android

我是Android编程新手,正在努力设计我的Tic-Tac-Toe应用程序。 在布局编辑器中,我在屏幕底部有一个按钮。当我在手机上运行应用程序时,只有按钮顶部可见,因为我的屏幕不够大。有人能给我指出正确的方向并解释为什么会这样吗

以下是我手机上应用程序的图片:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:background="#2190F3"
android:orientation="vertical" >


<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="20dp"
    android:textSize="40sp"
    android:textStyle="bold"
    android:textColor="#000000"
    android:text="@string/title" />

<LinearLayout
    android:layout_marginTop="100dp"
    android:layout_width="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_height="wrap_content"

    android:orientation="horizontal">

    <Button
        android:id="@+id/button3"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_weight="3"
        android:text="X" />

    <Button
        android:id="@+id/button"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_weight="3"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="120dp"
        android:layout_weight="3"
        android:layout_height="120dp"
        android:text="Button" />
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button4"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_weight="3"
        android:text="X" />

    <Button
        android:id="@+id/button5"
        android:layout_weight="3"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:text="Button" />

    <Button
        android:id="@+id/button6"
        android:layout_weight="3"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:text="Button" />
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button7"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_weight="3"
        android:text="X" />

    <Button
        android:id="@+id/button8"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_weight="3"
        android:text="Button" />

    <Button
        android:id="@+id/button9"
        android:layout_width="120dp"
        android:layout_weight="3"
        android:layout_height="120dp"
        android:text="Button" />
</LinearLayout>

<Button
    android:id="@+id/button11"
    android:layout_width="120dp"
    android:layout_height="60dp"
    android:layout_marginTop="50dp"
    android:layout_gravity="center_horizontal"
    android:text="Button" />

</LinearLayout>

这是因为您的预览屏幕截图正在模拟特定的dpi,而您的实际物理设备具有其他dpi。这是一个误解,通过在DP中插入大小,您将获得一对一的相似性。关于这方面的详细信息

对于您的情况,建议您取消硬编码的大小,并使用“权重”调整您的UI大小。

使用此选项

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#2190F3"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="20dp"
    android:text="@string/title"
    android:textColor="#000000"
    android:textSize="40sp"
    android:textStyle="bold" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="100dp"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="X" />

    <Button
        android:id="@+id/button"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button4"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="X" />

    <Button
        android:id="@+id/button5"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

    <Button
        android:id="@+id/button6"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button7"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="X" />

    <Button
        android:id="@+id/button8"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

    <Button
        android:id="@+id/button9"
        android:layout_width="0dp"
        android:layout_height="120dp"
        android:layout_weight="1"
        android:text="Button" />

</LinearLayout>

<Button
    android:id="@+id/button11"
    android:layout_width="120dp"
    android:layout_height="60dp"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="50dp"
    android:text="Button" />


我希望它能起作用。这不是最好的解决办法。最好的解决方案是使用constraintlayout。

您能详细说明您的建议吗?我需要把重量放在哪里?为什么?谢谢你的回答。你能告诉我你的改变以及你为什么要改变吗?我想知道发生了什么,解决办法是什么