2012-06-29 38 views
7

Tôi mới phát triển Android. Tôi muốn thiết lập lề & đệm trong Xml, không phải trong dp hoặc px nhưng theo tỷ lệ phần trăm. Có cách nào để làm điều này không?Tỷ lệ ký quỹ/phần trăm đệm theo XML

+0

Hey tôi nghĩ rằng điều này không thể [Nhìn Dưới đây] (http://stackoverflow.com/questions/5996571/android-how-do-i-set-a-percentage-padding-margin-so-edittext-has-10-margin-on-e) – LuminiousAndroid

Trả lời

5

nó không phải là có thể, mặc dù Bạn tốt hơn làm điều đó bằng cách lấy chiều rộng và chiều cao của màn hình như dưới đây trong mã java của bạn, và

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

sau đó tính toán lợi nhuận của bạn từ kích thước màn hình, và đặt nó bởi

setmargin(int x) //method of view/layout. 

theo cách này bạn có thể đặt lề tùy thuộc vào kích thước màn hình không cố định cho tất cả màn hình và về cơ bản nó giống như cài đặt theo tỷ lệ phần trăm nhưng từ mã Java.

+1

Sử dụng getWidth() và getHeight() không được dùng trong cấp API 13+. http://developer.android.com/reference/android/view/Display.html. Sử dụng getSize (điểm) thay thế. – maraci

+1

@maraci kiểm tra câu trả lời khác của tôi về mối quan tâm của bạn Liên kết >> http://stackoverflow.com/a/11483404/519718 – AAnkit

0

Nếu bạn đang cố gắng chia sẻ chiều rộng màn hình giữa các điều khiển của bạn theo phần trăm. Cách tốt nhất để làm điều đó trong android là sử dụng tài sản weight cho họ. Kiểm tra URL sau để biết thêm chi tiết.

Android Layout Paramas guide

regards, Aqif Hamid

0

Nó trở thành có thể với Guidelines được giới thiệu trong ConstraintLayout.

Dưới đây là ví dụ của TextView đặt ở 60% độ rộng màn hình và 25% chiều cao màn hình:

Layout Editor

<?xml version="1.0" encoding="utf-8"?> 
<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"> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" 
     app:layout_constraintLeft_toLeftOf="@+id/guideline1" 
     app:layout_constraintTop_toTopOf="@+id/guideline2" /> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/guideline1" 
     android:orientation="vertical" 
     app:layout_constraintGuide_percent="0.6" /> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/guideline2" 
     android:orientation="horizontal" 
     app:layout_constraintGuide_percent="0.25" /> 

</android.support.constraint.ConstraintLayout> 
Các vấn đề liên quan