Chế độ xem này không bị hạn chế


95

Tôi gặp lỗi sau và tôi đang sử dụng Android studio 2.2 Preview 3. Tôi đã tìm kiếm trên Google nhưng không thể tìm thấy bất kỳ tài nguyên nào.

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

nhập mô tả hình ảnh ở đây

<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" />

Câu trả lời:


152

Để nhanh chóng giải quyết vấn đề này, hãy sử dụng phím tắt rất hữu ích này trong Android Studio:

Nhấp chuột phải vào tiện ích trong câu hỏi> Bố cục Ràng buộc> Suy ra Ràng buộc:

nhập mô tả hình ảnh ở đây

Sau đó, bạn có thể tinh chỉnh các ràng buộc như được mô tả tại đây: https://stackoverflow.com/a/37960888/5556250

Cập nhật

Điều này không đúng đối với Android Studio v3 trở lên. Theo nhận xét của @ purpleladydragons :

"Bố cục Ràng buộc" không có trong menu thả xuống. Sử dụng biểu tượng cây đũa thần trong menu thanh công cụ phía trên bản xem trước thiết kế; có nút "Suy ra Ràng buộc".


2
Cảm ơn rất nhiều cho giải pháp của bạn, tôi là một người mới bắt đầu tuyệt đối, tôi không hề biết những gì đã xảy ra với vị trí phụ tùng
Atul Chavan

2
Giải pháp tuyệt vời mặc dù tôi ước Android Studio sẽ chỉ lưu trữ các vị trí ngay từ đầu, thay vì các vị trí thời gian chạy. Một câu hỏi hay hơn là tại sao Google cho rằng chỉ lưu trữ vị trí trong thời gian chạy là một ý kiến ​​hay? Đó là một bước không cần thiết để khiến các nhà phát triển nhấp vào để suy ra vị trí.
Antony

Cảm ơn rất nhiều! Rất hữu ích
Paul

23
Tôi đang sử dụng Android Studio 3.0 - "Bố cục Ràng buộc" không có trong menu thả xuống khi tôi nhấp chuột phải vào một tiện ích. Tôi nhận ra có một biểu tượng trông giống như một cây đũa thần trong menu thanh công cụ phía trên bản xem trước thiết kế, đó cũng là nút "Infer Constraints".
purpleladydragons

giải pháp không thể được tìm thấy trong Android Studio Phiên bản 3 hoặc lên nữa
Mohammad Heydari

74

Giải pháp

Chỉ cần nhấp vào đây và nó sẽ được giải quyết


Tôi không thấy thanh công cụ có nút đó. Làm thế nào để tôi tìm thấy nó?
i_am_david

Tôi không biết liệu bạn có đang sử dụng phiên bản Android Studio khác hay không. Hãy kiểm tra nút đó, nó phải ở đâu đó. Nếu bạn không thể tìm thấy, có những giải pháp khác
Cem U

12

Bạn cần cung cấp giá trị cho các ràng buộc theo cách thủ công khi sử dụng trình chỉnh sửa bố cục mới hoặc các ràng buộc còn thiếu có thể được thêm tự động bằng cách nhấp vào nút cây đũa thần trong menu thanh công cụ của bản xem trước thiết kế.


11

bạn có thể thử điều này: 1. đảm bảo bạn đã thêm: biên dịch 'com.android.support:design:25.3.1' (có thể bạn cũng nên thêm biên dịch 'com.android.support.constraint: binding-layout: 1.0.2' ) 2.nhập mô tả hình ảnh ở đây

3. nhấp vào Ràng buộc suy luận , hy vọng nó có thể giúp bạn.


7

Được rồi, tôi biết câu trả lời này đã cũ, nhưng tôi đã tìm ra cách thực hiện điều này cho phiên bản 3.1.4. Vì vậy, đối với tôi, lỗi này xảy ra bất cứ khi nào tôi đưa một mục mới vào hệ thống phân cấp, vì vậy tôi biết mình cần một giải pháp. Sau khi mày mò một chút, tôi đã tìm ra cách thực hiện bằng cách làm theo các bước sau:

  1. Nhấp chuột phải vào đối tượng và chuyển đến Trung tâm.

Bước 1

  1. Sau đó chọn Theo chiều ngang.

Bước 2

  1. Lặp lại các bước đó, ngoại trừ nhấp vào Theo chiều dọc thay vì Chiều ngang.

Với điều kiện là phương pháp đó vẫn hoạt động, sau bước hai, bạn sẽ thấy các đường nguệch ngoạc đi ngang qua vị trí của mục đó và sau bước ba, theo cả chiều ngang và chiều dọc. Sau bước ba, lỗi sẽ biến mất!


6

Nhấp chuột phải vào sau đó thiết kế một phần trên thành phần mà bạn gặp lỗi và làm theo các bước sau:

  • [cho người yêu cũ. nếu lỗi xảy ra trong Văn bản thuần túy]

[1]

Bố cục Ràng buộc Văn bản thuần túy> Các Ràng buộc Suy ra:

cuối cùng lỗi đã biến mất


6

Nhấp chuột phải vào tiện ích và chọn "trung tâm" -> "theo chiều ngang". Sau đó chọn "center" -> "vertical".


6

Từ Android Studio v3 trở lên, Infer Constraint đã bị xóa khỏi menu thả xuống.

Sử dụng biểu tượng cây đũa thần trong menu thanh công cụ phía trên bản xem trước thiết kế; có nút " Suy ra Ràng buộc ". Nhấp vào nút này, thao tác này sẽ tự động thêm một số dòng trong trường văn bản và dòng màu đỏ sẽ bị xóa.

nhập mô tả hình ảnh ở đây


4

Bạn chỉ cần nhấp chuột phải vào tiện ích và chọn "trung tâm" -> "theo chiều ngang" và thực hiện lại sau đó chọn -> "theo chiều dọc" Điều này đã làm việc cho tôi ...


0

bạn có thể đi tới XML filesau đó tập trung con trỏ chuột vào nút, chế độ xem văn bản hoặc bất kỳ thứ gì bạn chọn cho bố cục của mình, sau đó nhấn Alt + Enterđể sửa lỗi, sau đó lỗi sẽ biến mất. nó hoạt động với tôi.


0

Sau khi nhấp vào biểu tượng cây đũa thần để suy ra các ràng buộc:

1) Trong cửa sổ Projects, đi tới Gradle Scripts> build.gradle (Module: app)

2) Cuộn xuống phần phụ thuộc

3) Tìm kiếm triển khai 'com.android.support:appcompat-v7:28.0.0-beta03'

4) Thay đổi dòng này thành triển khai 'com.android.support:appcompat-v7:28.0.0-alpha1'

5) Một biểu ngữ sẽ bật lên ở đầu cửa sổ, nhấp vào Đồng bộ hóa ngay ở góc bên phải.

Điều này hoạt động cho Android Studio v3.1, nhấp vào để xem hình ảnh chỉnh sửa thành tệp build.gradle


0

Khi tạo bố cục, sẽ dễ dàng hơn khi làm việc với một điều khiển tại một thời điểm, thay vì thêm tất cả chúng cùng một lúc.

Từ Palette Layouts, kéo ConstraintLayout vào màn hình.

Di chuyển các điều khiển mong muốn của bạn vào bên trong ConstraintLayout.

Vì vậy, ConstraintLayout bây giờ sẽ là cha mẹ của điều khiển và nếu bạn chuyển sang mã xml, các điều khiển sẽ được lồng vào ConstraintLayout.

Nhấp chuột phải vào điều khiển của bạn, chọn Constraint từ menu và chọn cách bạn muốn căn chỉnh nó với ConstraintLayout chính, trên cùng, bắt đầu, v.v.

Nếu bạn cần căn chỉnh hai điều khiển tương đối với nhau, hãy chọn đồng thời cả hai điều khiển bằng phím Ctrl, sau đó nhấp chuột phải để mở menu ràng buộc.

Thông tin thêm: https://developer.android.com/training/constraint-layout

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây Bạn có thể chỉ định khoảng cách phân tách ràng buộc trong tab Bố trí Ràng buộc:

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.