このビューは拘束されていません


95

次のエラーが表示され、Android Studio 2.2プレビュー3を使用しています。Googleを検索しましたが、リソースが見つかりませんでした。

Error: This view is not constrained, it only has design time positions, so it will jump to (0,0) unless you add constraints

ここに画像の説明を入力してください

<TextView
        android:layout_width="384dp"
        android:layout_height="207dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/calc_default_display"
        android:id="@+id/textView"
        android:background="#ffffff"
        android:layout_margin="0dp"
        android:gravity="bottom|end"
        android:textSize="70sp"
        android:nestedScrollingEnabled="false"
        android:maxLines="2"
        android:maxLength="17"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

回答:


152

これをすばやく解決するには、Android Studioで次の非常に便利なショートカットを使用します。

質問のウィジェットを右クリック>制約レイアウト>制約の推定:

ここに画像の説明を入力してください

その後、ここで説明するように制約を微調整できます:https : //stackoverflow.com/a/37960888/5556250

更新

これは、Android Studio v3以降では正しくありません。あたりとしてpurpleladydragonsさんのコメント@

「制約レイアウト」はドロップダウンメニューにありません。デザインプレビューの上にあるツールバーメニューの魔法の杖アイコンを使用します。「制約を推測」ボタンがあります。


2
あなたの解決策に感謝します、私は絶対的な初心者です、ウィジェットの位置の何が問題だったか全くわかりませんでした
Atul Chavan

2
Android Studioが実行時の位置ではなく、最初からの位置を保存することを望んでいますが、素晴らしいソリューションです。より良い質問は、Googleが実行時にのみ位置を保存するのが良い考えだと思った理由です これは、開発者がクリックして位置を推測するための不要な手順です。
アントニー

どうもありがとう!非常に役立った
ポール

23
Android Studio 3.0を使用しています。ウィジェットを右クリックしたときに、ドロップダウンメニューに[制約レイアウト]がありませんでした。デザインプレビューの上にあるツールバーメニューに、魔法の杖のようなアイコンがあることに気づきました。これは、「制約の推定」ボタンでもあります。
purpleladydragons 2017年

解決策はAndroid Studioバージョン3以降では見つかりませんでした
Mohammad Heydari

74

解決

これをクリックするだけで解決します


そのボタンのあるツールバーは表示されません。どうすれば見つけられますか?
i_am_david

Android Studioの別のバージョンを使用しているかどうかはわかりません。そのボタンをチェックしてください、それはどこかにあるはずです。が見つからない場合、他の解決策があります
Cem U

12

新しいレイアウトエディタを使用している場合は、手動で制約に値を与える必要があるか、欠落している制約がデザインプレビューのツールバーメニューにある魔法の杖ボタンをクリックすることで自動的に追加することができます。


11

あなたはこれを試すことができます:1.追加したことを確認します: compile 'com.android.support:design:25.3.1'(多分あなたはcompile 'com.android.support.constraint:constraint-layout:1.0.2'も追加する必要があります)2。ここに画像の説明を入力してください

3.推論制約をクリックして、それがあなたを助けることを望んでください。


7

わかりましたので、この答えが古いことを知っていますが、バージョン3.1.4でこれを行う方法を見つけました。したがって、私にとってこのエラーは、新しいアイテムを階層に配置するたびに発生するため、解決策が必要であることがわかりました。少しいじった後、私は次の手順に従ってそれを行う方法を見つけました:

  1. オブジェクトを右クリックして、中央に移動します。

ステップ1

  1. 次にHorizo​​ntallyを選択します。

ステップ2

  1. これらの手順を繰り返します。ただし、水平ではなく垂直をクリックします。

その方法が引き続き機能する場合、ステップ2の後、アイテムのある場所を横切って曲がりくねった線が表示され、ステップ3の後、水平と垂直の両方に線が表示されます。ステップ3の後、エラーは解消されます。


6

エラーが発生したコンポーネントのパーツを右クリックして設計し、次の手順に従います。

  • [例:プレーンテキストでエラーが発生した場合]

[1]

プレーンテキスト制約のレイアウト>制約の推定:

ついにエラーがなくなりました


6

ウィジェットを右クリックして、「中央」->「水平」を選択します。次に、「中央」->「垂直」を選択します。


6

Android Studio v3以降では、推測拘束がドロップダウンから削除されました。

デザインプレビューの上にあるツールバーメニューの魔法の杖アイコンを使用します。「推定制約」ボタンがあります。このボタンをクリックすると、テキストフィールドにいくつかの行が自動的に追加され、赤い線が削除されます。

ここに画像の説明を入力してください


4

ウィジェットを右クリックして「中央」->「水平」を選択し、もう一度実行してから、->「垂直」を選択するだけです。これでうまくいきました...


0

XML file次に移動して、マウスカーソルをボタン、テキストビュー、またはレイアウト用に選択したものにフォーカスし、押しAlt + Enterて修正します。その後、エラーが消えます。


0

魔法の杖のアイコンをクリックして制約を推測した後:

1)「プロジェクト」ウィンドウで、Gradle Scripts> build.gradle(Module:app)に移動します

2)依存関係までスクロールします

3)実装 'com.android.support:appcompat-v7:28.0.0-beta03'を探します

4)この行を実装 'com.android.support:appcompat-v7:28.0.0-alpha1'に変更します

5)ウィンドウの上部にバナーがポップアップ表示されます。右隅にある[今すぐ同期]をクリックします。

これはAndroid Studio v3.1で機能し 、build.gradleファイルの編集画像をクリックしてください


0

レイアウトを作成するときは、一度にすべてのコントロールを追加するのではなく、一度に1つのコントロールを操作する方が簡単です。

レイアウトパレットから、ConstraintLayoutを画面にドラッグします。

ConstraintLayout内で目的のコントロールを移動します。

したがって、ConstraintLayoutはコントロールの親になり、xmlコードに切り替えると、コントロールはConstraintLayoutの下にネストされます。

コントロールを右クリックして、メニューから[制約]を選択し、親のConstraintLayout、top、startなどにどのように配置するかを選択します。

2つのコントロールを相対的に配置する必要がある場合は、Ctrlキーを使用して両方のコントロールを同時に選択し、右クリックして制約メニューを開きます。

詳細:https : //developer.android.com/training/constraint-layout

ここに画像の説明を入力してください

ここに画像の説明を入力してください [拘束レイアウト]タブで拘束の分離距離を指定できます。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.