目前我正在开发一个显示一些值的移动应用程序(它们永远不会改变,所以它们保存在一个列表中)。当我使用设备 4.7 WXGA 在设计器中设计页面时,底部有很多空间,但在我的真实手机 (Motorola Moto G3) 上没有空间。
现在我担心如果我在不同的手机(三星等)上部署应用程序会发生什么。我一直认为使用 AXML 之类的东西创建 UI 的优势是使应用程序“响应式”,这意味着它适合运行它的设备。但为什么这没有发生?
有人可以给我提示如何实现这个吗?
编辑: 这是我的 AXML 代码 - 因为在这里我用 Text
替换了真实文本<?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:background="#ffffff">
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1"
android:layout_marginTop="5dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout2"
android:layout_margin="5dp"
android:gravity="center">
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/linearLayout6">
<ImageView
android:layout_width="32dp"
android:layout_height="40dp"
android:id="@+id/imgLeft"
android:src="@drawable/arrow_left"
android:layout_marginRight="50dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/linearLayout5"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/tbDin"
android:textSize="35dp"
android:layout_marginRight="15dp"
android:textColor="@android:color/black" />
<TextView
android:layout_width="60dp"
android:layout_height="match_parent"
android:id="@+id/tbDinWert"
android:textSize="35dp"
android:textColor="@android:color/black"
android:gravity="center"
android:text="XX" />
<ImageView
android:layout_width="32dp"
android:layout_height="40dp"
android:id="@+id/imgRight"
android:src="@drawable/arrow_right"
android:layout_marginLeft="50dp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout3"
android:background="@android:color/transparent"
android:layout_marginTop="5dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb1"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:inputType="none"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb2"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:inputType="none"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb3"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:inputType="none"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb3"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:inputType="none"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb4"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:inputType="none"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb5"
android:textSize="16dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb6"
android:textSize="10dp"
android:layout_marginRight="142dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:background="@android:color/transparent"
android:paddingLeft="15dp">
<TextView
android:layout_width="90dp"
android:layout_height="match_parent"
android:id="@+id/tb7"
android:textSize="10dp"
android:textColor="@android:color/black"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="142dp"
android:gravity="center" />
<TextView
android:text="Text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/TextView4"
android:textSize="35dp"
android:background="@android:color/transparent"
android:textColor="@android:color/black"
android:gravity="center" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
最佳答案
好的,所以首先你不能对像 linearLayout4 这样的 View 使用相同的 id。其次,正确的做法是最好的做法,所以不要创建这么多布局,创建标题和 ListView,然后填充它。如果您有 3 个项目或 333 个项目,请使用 ListView。
接下来不要像这样使用 android:layout_marginRight="142dp"。 margin 和 padding 应该小得多,为了达到拉伸(stretch)项目的效果,使用这样的东西:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout4"
android:layout_margin="5dp"
android:gravity="center">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="16dp"
android:textColor="@android:color/black"
android:text="Value"
android:layout_weight="0.5"
android:gravity="center"/>
<TextView
android:text="Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="35dp"
android:textColor="@android:color/black"
android:layout_weight="0.5"
android:gravity="center"/>
</LinearLayout>
您可以粘贴它以查看结果。
尝试在您正在创建应用程序的程序中练习设计。如果您使用的是 AndroidStudio,它具有预览功能,因此您可以检查不同尺寸的屏幕。
对于任何布局或 View ,如果您设置 android:layout_width="match_parent"android:layout_height="match_parent",它将始终适合设备。
尝试创建具有不同背景的布局和 View ,同时更改高度和宽度,以便您可以看到发生了什么。
关于c# - Android - 手机上的布局与设计器的尺寸不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873343/