首页 > 解决方案 > 为什么 Android Studio 不接受这个 xml?为什么它要求我用鼠标绘制它?

问题描述

这是我的activity_main.xml。有人能指出其中的缺陷吗?

设计屏幕将所有八个按钮放在左上角,忽略约束声明。

更令人抓狂的是为实际使用鼠标进行约束而提供的设备。它为我提供了要链接到的对象的选择,但选项是 End_toEnd 或 Start_toStart!我怎么能这样排?

我以为我可以用纯文本,所以我创建了ac#应用程序,将一个Excel数组转换为下面的XML文件,即Buttons(不是标题),而且它是如此快速和简单。如果除了鼠标之外别无他法,那将是一个令人心碎的事情,将箭头拖来拖去。

这是文件:

<?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"
tools:context=".MainActivity">
<Button
    android:id="@+id/InitCaps"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/ic"
    android:layout_constraintStart_toStartOf="parent"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/AllCaps"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/AllCaps"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/ac"
    android:layout_constraintStart_toEndOf="@+id/InitCaps"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Quotes"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Quotes"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/q"
    android:layout_constraintStart_toEndOf="@+id/AllCaps"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Hyphens"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Hyphens"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/h"
    android:layout_constraintStart_toEndOf="@+id/Quotes"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Dot"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Dot"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/dot"
    android:layout_constraintStart_toEndOf="@+id/Hyphens"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Comma"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Comma"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/comma"
    android:layout_constraintStart_toEndOf="@+id/Dot"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Undo"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Undo"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/undo"
    android:layout_constraintStart_toEndOf="@+id/Comma"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/Redo"
    android:layout_constraintBottom_toBottomOf="parent" />

<Button
    android:id="@+id/Redo"
    android:layout_width="43dp"
    android:layout_height="44dp"
    android:layout_marginStart="3dp"
    android:layout_marginLeft="3dp"
    android:layout_marginTop="3dp"
    android:layout_marginEnd="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginBottom="3dp"
    android:text="@string/redo"
    android:layout_constraintStart_toEndOf="@+id/Undo"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_constraintEnd_toEndOf="parent"
    android:layout_constraintBottom_toBottomOf="parent" />

</android.support.constraint.ConstraintLayout>

标签: androidlayoutconstraints

解决方案


啊! 你知道,我一开始就有“app:”的约束,但我猜有几个错误导致Android Studio命令我替换“android:”。

现在修复了错误,我想,“再试一次应用程序”。

有效。很抱歉打扰了。


推荐阅读