为什么Emulator会为Android Studio呈现不同的结果?

时间:2016-01-13 18:31:10

标签: android android-layout

我玩过Android Studio,只是想知道为什么渲染结果与我创建的结果如此不同 Here is the image of my screen, you can see that the 2 screen of Android Studio and Genymotion are completely different

这是布局的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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="tk.miendatmoi.widgetexperiments.WidgetExperimentsActivity"
tools:showIn="@layout/activity_widget_experiments"
android:visibility="visible">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Left Button"
    android:id="@+id/button"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:width="150dp"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="100dp"
    android:layout_marginRight="50dp"
    android:layout_marginBottom="50dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Right"
    android:id="@+id/button2"
    android:layout_alignBottom="@+id/button"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:width="80dp" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="New Text"
    android:id="@+id/textView"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:textSize="65sp"
    android:width="150dp"
    android:height="150dp"
    android:gravity="center"
    android:alpha=".5"
    android:background="#342a2a"
    android:textColor="#fdfdfd"
    android:typeface="serif"
    android:visibility="visible" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="45dp"
    android:src="@android:mipmap/sym_def_app_icon"
    android:contentDescription="incon" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

这是因为您使用了两种不同的布局。似乎 genymotion布局使用平板电脑布局,其分辨率与使用nexus 4分辨率的android studio中的分辨率不同。

答案 1 :(得分:-1)

模拟器中的结果与Android Studio预览不同,因为您在窗口小部件中显示布局。 Android Studio布局预览中的工具无法显示窗口小部件内的布局,因此它们会向您显示布局,就好像它允许占用整个屏幕一样。运行应用程序时,它在窗口小部件中正确显示的布局。