5

tôi cố gắng sử dụng một PercentFrameLayout nhưng tôi nhận được thông báo lỗi này:PercentFrameLayout: Bạn phải cung cấp một thuộc tính layout_width

Binary XML file line #: You must supply a layout_width attribute. 

Đây là xml tôi sử dụng:

<android.support.percent.PercentFrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     app:layout_heightPercent="50%" 
     app:layout_marginLeftPercent="25%" 
     app:layout_marginTopPercent="25%" 
     app:layout_widthPercent="50%"/> 
</android.support.percent.PercentFrameLayout> 

Đây có phải là một lỗi hay đó có phải là sai lầm của tôi không?

+0

Điều đó có vẻ chính xác như ví dụ tại http://developer.android.com/reference/android/support/percent/PercentFrameLayout.html khác với thứ tự các thông số vì vậy tôi cho rằng nó là chính xác. Bạn có chắc chắn đó là quan điểm của vấn đề không? Nếu bạn xóa các chế độ xem đó thì bố cục của bạn có tải đúng cách không? –

+0

@CoryCharlton có nó là từ doc và có nó là quan điểm với vấn đề. Android Studio cũng làm nổi bật vấn đề này. –

Trả lời

4

Các thuộc tính layout_widthlayout_height vẫn được yêu cầu do đặc tả bố cục XML, nhưng bị bỏ qua một cách hiệu quả trong PercentFrameLayout hoặc PercentRelativeLayout.

Bạn chỉ cần phải thiết lập các giá trị để 0dp hoặc wrap_content:

<ImageView 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    app:layout_heightPercent="50%" 
    app:layout_marginLeftPercent="25%" 
    app:layout_marginTopPercent="25%" 
    app:layout_widthPercent="50%" /> 

này tương tự như việc sử dụng một tiêu chuẩn LinearLayout với layout_weight, nơi bạn có để xác định một layout_width quá.

+0

Nhưng tài liệu nói rằng 'Không cần thiết phải chỉ định layout_width/height nếu bạn chỉ định layout_widthPercent.' –

+0

@RalphBergmann Thật lạ lùng, tôi thậm chí không thể biên dịch XML mà không chỉ định chiều rộng/chiều cao. tài liệu là chính xác. – Floern

+0

Có vẻ như nó là cần thiết-- Tôi đã thử ommitting chiều rộng/chiều cao (không có ngoại lệ ném), và chỉ có thể làm cho nó để render đúng bằng cách thiết lập cả hai giá trị 0dp. – Rachael

Các vấn đề liên quan