Android Studio,不同的预览和模拟器

时间:2017-10-10 13:59:05

标签: android

第一张图片是预览的样子;但是,当我运行模拟器时,它看起来像第二张图片。我不确定为什么会这样。顺便说一句,我正在制作一个简单的鼓盒应用程序。

预览 img

仿真器

img

activity_main.xml的代码是

<Button
android:id="@+id/bass"
android:layout_width="150dp"
android:layout_height="250dp"
android:text="1"
tools:layout_editor_absoluteX="25dp"
tools:layout_editor_absoluteY="10dp" />

<Button
android:id="@+id/snare"
android:layout_width="150dp"
android:layout_height="250dp"
android:text="2"
tools:layout_editor_absoluteX="200dp"
tools:layout_editor_absoluteY="10dp" />

<Button
android:id="@+id/closedhihat"
android:layout_width="150dp"
android:layout_height="250dp"
android:text="3"
tools:layout_editor_absoluteX="25dp"
tools:layout_editor_absoluteY="250dp" />

<Button
android:id="@+id/hitom"
android:layout_width="150dp"
android:layout_height="250dp"
android:text="4"
tools:layout_editor_absoluteX="200dp"
tools:layout_editor_absoluteY="250dp" />

</android.support.constraint.ConstraintLayout>

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

请检查我对此问题的回答:https://stackoverflow.com/a/46552928/4483200

主要是工具:layout_editor_absoluteX =&#34; 200dp&#34;仅指编辑器,在ConstraintLayout位置应该关于其他元素或布局中的父元素。检查我的例子。

希望有所帮助

答案 1 :(得分:0)

您的问题出在此代码中。

tools:layout_editor_absoluteX="200dp"
tools:layout_editor_absoluteY="250dp"

工具可以告诉Android Studio在运行时忽略哪些属性,并且仅在设计布局时有效。

例如,我们希望android:text属性仅适用于布局预览,因此您可以执行此操作tools:text="I am a text"

就像代码中的tools:layout_editor_absoluteY="250dp"一样。

在您的代码中尝试此操作。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">

<Button
    android:id="@+id/bass"
    android:layout_width="150dp"
    android:layout_height="250dp"
    android:text="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@id/snare"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/snare"
    android:layout_width="150dp"
    android:layout_height="250dp"
    android:text="2"
    app:layout_constraintLeft_toRightOf="@id/bass"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/closedhihat"
    android:layout_width="150dp"
    android:layout_height="250dp"
    android:text="3"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@id/hitom" />

<Button
    android:id="@+id/hitom"
    android:layout_width="150dp"
    android:layout_height="250dp"
    android:text="4"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toRightOf="@id/closedhihat"
    app:layout_constraintRight_toRightOf="parent" />

</android.support.constraint.ConstraintLayout>

<强>输出

enter image description here

注意

ConstraintLayout属性

  • layout_constraintLeft_toLeftOf
  • layout_constraintLeft_toRightOf
  • layout_constraintRight_toLeftOf
  • layout_constraintRight_toRightOf
  • layout_constraintTop_toTopOf
  • layout_constraintTop_toBottomOf
  • layout_constraintBottom_toTopOf
  • layout_constraintBottom_toBottomOf
  • layout_constraintBaseline_toBaselineOf
  • layout_constraintStart_toEndOf
  • layout_constraintStart_toStartOf
  • layout_constraintEnd_toStartOf
  • layout_constraintEnd_toEndOf