我是Android编程的新手,我的问题是我用一些LienarLayouts创建了一个简单的计算器界面,结果在设计显示器和我的手机上都不一样。
The result i get on the design
The result i get on my phone (Galaxy S7)
我无法找到任何解决方案。对于操作员来说,它是我放在不同可绘制文件夹(hdpi,xhdpi和xxhdpi)上的一些图像。
我将把我的xml文件放在这里。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="165dp"
android:background="@color/clrBlue"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="right"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="50dp"
android:text="567"
android:textColor="@android:color/background_light"
android:textSize="45sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="87dp"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="7"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="8"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="9"
android:textColor="@android:color/black"
android:textSize="30sp" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
app:srcCompat="@drawable/divide" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="87dp"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="4"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="5"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="6"
android:textColor="@android:color/black"
android:textSize="30sp" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
app:srcCompat="@drawable/multiply" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="87dp"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="1"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="2"
android:textColor="@android:color/black"
android:textSize="30sp" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="3"
android:textColor="@android:color/black"
android:textSize="30sp" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/background_light"
app:srcCompat="@drawable/subtract" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="192dp"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/button15"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="@color/clrBlue"
android:text="clear"
android:textSize="25sp" />
</LinearLayout>
<Button
android:id="@+id/button3"
android:layout_width="96dp"
android:layout_height="match_parent"
android:background="@android:color/background_light"
android:text="0"
android:textColor="@android:color/black"
android:textSize="30sp" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light"
app:srcCompat="@drawable/add" />
</LinearLayout>
</LinearLayout>
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/transparent"
android:paddingRight="50dp"
android:paddingTop="125dp"
app:srcCompat="@drawable/equal" />
</RelativeLayout>
答案 0 :(得分:0)
由于尺寸不同,结果不同。在布局显示的顶部,您将看到选择了Nexus 4,屏幕尺寸为4.7“,我认为Galaxy S7的尺寸为5.1”。
此外,密度像素可能存在差异。 您可以参考android文档了解不同的像素密度。 Support Different Pixel Densities
答案 1 :(得分:0)