Android có hỗ trợ% hay không có cách nào gần đúng. Tôi có hai kích thước màn hình rất khác nhau và tôi nhưng tỷ lệ phần trăm khôn ngoan tôi muốn EditBox trong hoạt động có cùng lề cho cả hai kích thước màn hình như một tỷ lệ kích thước màn hình. Điều này có thể giải quyết như thế nào.Android làm cách nào để đặt tỷ lệ phần trăm/lề để EditText có 10% lợi nhuận ở hai bên?
Trả lời
Nó không thực sự hỗ trợ giá trị cài đặt theo phần trăm (ngoại trừ một số tệp hoạt ảnh xml dường như) Nếu bạn đã chết bằng cách sử dụng tỷ lệ phần trăm, cách tốt nhất tôi có thể nghĩ là từ cuộc gọi java getWidth và getHeight nhân các số thập phân của bạn và đặt kết quả bằng setMargin() hoặc setPadding().
Điều này có thể trong XML bằng cách gói EditText của bạn bên trong của một LinearLayout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:gravity="center"
>
<EditText
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="8"
/>
</LinearLayout>
Edit: Các Layouts từ câu trả lời này đang bị phản đối. Sử dụng giải pháp mà Eugene Brusov đề xuất. Ngoài ra, cảm ơn bạn chancyWu cho nhận xét.
Hiện tại, có một cách tốt hơn với thư viện hỗ trợ phiên bản 23.0.0 (khoảng thời gian, đúng không?). Bạn hiện có thể sử dụng PercentFrameLayout hoặc PercentRelativeLayout.
Nếu bạn muốn EditText là 80% chiều rộng của màn hình với một biên độ 10% ở hai bên, mã sẽ trông như thế này:
<android.support.percent.PercentRelativeLayout
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">
<EditText
android:layout_height="wrap_content"
app:layout_widthPercent="80%"
app:layout_marginStartPercent="10%"
app:layout_marginEndPercent="10%"/>
</android.support.percent.PercentRelativeLayout>
Bạn cũng có thể có một cái nhìn tại PercentLayoutHelper.PercentLayoutParams
Không được chấp nhận vì cấp API 26.1.0 – chancyWu
Có thể với Guideline được giới thiệu trong ConstraintLayout.
Ví dụ bạn có thể đặt EditText hàng đầu của bạn ở mức 25% chiều cao màn hình và trái và phải ở mức 20% của chiều rộng màn hình:
Đây là nguồn bố trí:
<android.support.constraint.ConstraintLayout
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">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
app:layout_constraintRight_toLeftOf="@+id/right_guideline"
app:layout_constraintTop_toTopOf="@+id/top_guideline" />
<android.support.constraint.Guideline
android:id="@+id/top_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.25" />
<android.support.constraint.Guideline
android:id="@+id/left_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<android.support.constraint.Guideline
android:id="@+id/right_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.8" />
</android.support.constraint.ConstraintLayout>
- 1. Làm cách nào để đặt tiêu điểm ở bên phải văn bản trong EditText cho android?
- 2. Android: PSS (Tỷ lệ đặt theo tỷ lệ) Tính toán
- 3. Sử dụng lợi nhuận ở C#
- 4. Lợi tức lợi nhuận trong Java
- 5. Parallel.Foreach + lợi tức lợi nhuận?
- 6. Tỷ lệ phần trăm thị phần nào mà trình duyệt cần để hỗ trợ của bạn?
- 7. Thực hiện lợi nhuận (lợi tức lợi nhuận) bằng cách sử dụng tiếp tục Scala
- 8. Java (Android): Làm cách nào để chia tỷ lệ có thể vẽ mà không có Bitmap?
- 9. Tính tỷ lệ phần trăm
- 10. jquery: tỷ lệ phần trăm của hai số
- 11. Làm cách nào để ngăn chặn chia tỷ lệ trong Android Imageview?
- 12. Android WebView không tôn trọng tỷ lệ phần trăm chia tỷ lệ
- 13. tỷ lệ làm mới để chèn/cập nhật cho đăng ký? tỷ lệ, số lượng, v.v.
- 14. lề bố trí android với tỷ lệ phần trăm
- 15. Chiều rộng tỷ lệ phần tử theo tỷ lệ trong LinearLayout
- 16. Làm cách nào để mang lại lợi nhuận trong các phương thức ẩn danh?
- 17. Tôi làm cách nào để chia tỷ lệ BufferedImage
- 18. Làm cách nào để đặt tỷ lệ hiển thị giữa các widget trong bố cục Qt?
- 19. Loại nào để lưu tỷ lệ phần trăm
- 20. form_for với lợi nhuận json
- 21. Tỷ lệ màn hình chia tỷ lệ canvas của Android
- 22. Cách thêm cột với tỷ lệ phần trăm
- 23. làm thế nào để chuyển đổi tỷ lệ phần trăm chuỗi thành BigDecimal?
- 24. Làm cách nào để thêm số trong ma trận vào kết quả tối thiểu lợi nhuận?
- 25. Làm cách nào để tính toán lợi nhuận từ một vectơ giá?
- 26. Lợi nhuận hồ sơ cơ sở dữ liệu lợi nhuận sử dụng LINQToSql?
- 27. Heroku chạy console lợi nhuận
- 28. android - làm cách nào để điền trước Edittext?
- 29. Làm cách nào để tính tỷ lệ phần trăm của một số?
- 30. Làm thế nào để bạn đặt hai divs bên cạnh nhau để họ điền vào không gian có sẵn
và cho ´height´ ¿? –
nó sẽ không hoạt động nếu bạn chỉ có 1 thành phần trong 'LinearLayout'. – Raptor
điều này làm việc cho tôi chỉ với một ListView trong LinearLayout và có hoặc không có bổ sung 'android: orientation =" horizontal "' trong LinearLayout với 'minSdkVersion = 16'. Đối với chiều cao, bạn sẽ chỉ có layout_height = – rockhammer