Có một câu hỏi và câu trả lời của nó How to make ConstraintLayout work with percentage values? hiển thị cách sử dụng tỷ lệ:Android - ConstraintLayout tỷ lệ sử dụng dimens
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
Nhưng nếu bạn không muốn hardcode tỷ lệ phần trăm, nhưng sử dụng một nguồn lực dimen nó không công việc.
<!-- inside the layout -->
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="@dimen/guideline_perc"/>
<!-- inside dimens.xml -->
<dimen name="guideline_perc>0.5</dimen>
Bạn nhận được lỗi sau:
Float types not allowed (at 'guideline_perc' with value 0.5).
Nếu bạn thay thế các giá trị với 1, một lỗi tương tự được trả về:
Integer types not allowed (at 'guideline_perc' with value 1).
Làm thế nào để bạn thiết lập một phần trăm mà không mã hóa cứng giá trị vào bố cục?
Nếu công trình này , đó là lỗi IDE hoặc lỗi công cụ xây dựng, vì cả hai phương pháp đều dẫn đến tài nguyên tham số. – CommonsWare
Xác định tài nguyên dưới dạng công cụ làm mờ yêu cầu đơn vị đo lường. Xác định nó là một mục có loại 'dimen' thì không. Ngoài ra một định dạng 'float' có thể được thêm vào nhưng không cần thiết. – neits
Ah, tôi hiểu rồi. Hãy thử sử dụng tài nguyên 'float' hoặc' integer', sau đó, thay vì 'dimen'. – CommonsWare