2017-03-10 74 views
1

我只能找到一条与此相关的线程,而答案并没有帮助修复错误。我在新的笔记本电脑上使用全新安装的Android Studio(如果有需要的话)(也许我需要安装目前不存在的东西)。Java中的约束错误Android Studio

错误:这种观点是没有限制的,它只有设计时的位置,所以它会跳转到(0,0),除非你添加约束

EDIT2:看来Android Studio中的新版本没有按不使用相对布局?我尝试过按照这个线程手动更改代码(How to switch from the default ConstraintLayout to RelativeLayout in Android Studio 2.3.3)。还是行不通。

编辑: 这是从以前的项目中的代码示例(你可以看到,这是不同的,从我的实际电流代码):

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
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" 
tools:context="com.example.squirreloverlord.ccarringtonphonephotoprint.MainActivity"> 

下面是我的主要活动代码给我上面的错误x4(button/textView x2/radiogroup)。

<?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="com.example.mercenaryferret.ccarrington1_currency.MainActivity"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/app_title" 
    android:textSize="24sp" 
    android:textStyle="bold|italic" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintVertical_bias="0.032" /> 

<EditText 
    android:id="@+id/editText_usd" 
    android:layout_width="350dp" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:hint="@string/us_label" 
    android:inputType="numberDecimal" 
    android:textAlignment="center" 
    android:textSize="12sp" 
    tools:layout_editor_absoluteX="17dp" 
    tools:layout_editor_absoluteY="69dp" 
    /> 

<RadioGroup 
    android:id="@+id/radioGrp" 
    android:layout_width="213dp" 
    android:layout_height="100dp" 
    tools:layout_editor_absoluteX="86dp" 
    tools:layout_editor_absoluteY="122dp" 
    > 

    <RadioButton 
     android:id="@+id/radioButtonEuro" 
     android:layout_width="98dp" 
     android:layout_height="wrap_content" 
     android:text="@string/euro_label" 
     tools:layout_editor_absoluteX="110dp" 
     tools:layout_editor_absoluteY="203dp" /> 

    <RadioButton 
     android:id="@+id/radioButtonCanada" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/canada_label" /> 

    <RadioButton 
     android:id="@+id/radioButtonMexico" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/mex_label" /> 
</RadioGroup> 

<Button 
    android:id="@+id/buttonConvert" 
    android:layout_width="368dp" 
    android:layout_height="wrap_content" 
    android:text="@string/convert_label" 
    android:textAlignment="center" 
    tools:layout_editor_absoluteX="8dp" 
    tools:layout_editor_absoluteY="248dp" /> 

<TextView 
    android:id="@+id/textViewResults" 
    android:layout_width="316dp" 
    android:layout_height="31dp" 
    tools:layout_editor_absoluteX="34dp" 
    tools:layout_editor_absoluteY="354dp" 
    /> 

预先感谢您。

回答

0

你需要添加一些缺少的约束,这里是如何做到这一点。

  1. 转到设计视图
  2. 右键点击你的widget
  3. 点击 “约束布局”
  4. 点击 “推断约束”

如果上述方法无效,请尝试以下。

  1. 转到设计视图
  2. 右键点击你的widget
  3. 清除所有约束
  4. 点击 “约束布局”
  5. 点击 “推断约束”
0

首先在组件树上有ConstraintLayout left点击它并弹出列表打开,然后按照下列步骤操作: -

  1. 约束布局>>清楚所有的约束然后
  2. 约束布局>>添加推断约束