我在Android Studio上的布局有问题。编辑器(XML文件)和仿真器(Nexus 10)显示了布局权限。但是,如果我在华为Mediaped M5上运行该应用程序,则布局会发生变化,并且一切都变得很复杂。
仿真器和我的设备具有相同的分辨率(2560 * 1600)。
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"
tools:context=".MainActivity">
<Button
android:id="@+id/button_fahrzeugsimulation"
android:layout_width="461dp"
android:layout_height="203dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="108dp"
android:layout_marginTop="173dp"
android:background="@android:color/holo_blue_dark"
android:text="Fahrzeugsimulation"
android:textColor="#ffffff"
android:textSize="38sp"
android:textStyle="bold" />
<Button
android:id="@+id/button_uebungen"
android:layout_width="457dp"
android:layout_height="182dp"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/button_fahrzeugsimulation"
android:layout_marginBottom="106dp"
android:background="@android:color/holo_blue_dark"
android:text="Übungen"
android:textColor="#ffffff"
android:textSize="38sp"
android:textStyle="bold" />
<Button
android:id="@+id/button_Weiterbildungsangebot"
android:layout_width="wrap_content"
android:layout_height="207dp"
android:layout_alignBottom="@+id/button_fahrzeugsimulation"
android:layout_alignParentEnd="true"
android:layout_marginEnd="107dp"
android:background="@android:color/holo_blue_dark"
android:text="Weiterbildungsangebot"
android:textColor="#ffffff"
android:textSize="38sp"
android:textStyle="bold" />
<Button
android:id="@+id/button_Unterlagen"
android:layout_width="498dp"
android:layout_height="185dp"
android:layout_alignStart="@+id/button_Weiterbildungsangebot"
android:layout_alignTop="@+id/button_uebungen"
android:layout_marginStart="-6dp"
android:layout_marginTop="-2dp"
android:background="@android:color/holo_blue_dark"
android:text="Unterlagen"
android:textColor="#ffffff"
android:textSize="38sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView_eMobility"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="eMobility"
android:textColor="@android:color/holo_blue_dark"
android:textStyle="bold"
android:textSize="64sp" />
<TextView
android:id="@+id/textView_Lab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView_eMobility"
android:layout_toEndOf="@+id/textView_eMobility"
android:text="Lab"
android:textColor="@android:color/holo_red_light"
android:textStyle="bold"
android:textSize="52sp" />
答案 0 :(得分:1)
我认为问题在于实际设备的屏幕宽度与模拟器不一样,因此您需要
创建不同的布局以支持屏幕宽度和高度以及每种布局的设计,
更改视图尺寸以适合屏幕。
本文档将帮助您:https://developer.android.com/training/multiscreen/screensizes
答案 1 :(得分:0)
您的测试分辨率不同于您要在设备上测试的设备(华为Mediated M5)
因此您正面临这个问题。即使您在布局中使用marginstart也有一些静态值,这些值会随设备而有所不同。
喜欢这个值:
android:layout_width="457dp"
android:layout_height="182dp"
android:layout_marginStart="108dp"
android:layout_marginTop="173dp"
设备屏幕尺寸检查以下链接,其中显示了nexus10和Huawei Mediaped M5