2012-01-17 40 views
26

Trong ứng dụng của tôi, tôi đã sử dụng linearlayout, bên trong là tôi có 3 phần tử EditText. Bây giờ tôi muốn tăng khoảng trống (phần đệm) giữa phần tử Edittext. Có thể không?làm thế nào để tăng không gian giữa các yếu tố trong linearlayout trong android?

+0

Chỉ cần chỉ ra, câu trả lời chính xác được không phải là chấp nhận từ "Trong Android, làm thế nào để ..." nhưng một [rằng đề nghị sử dụng chia ] (http://stackoverflow.com/a/18538656/923340) vì điều này mang lại cho bạn một nơi để áp dụng không gian cho bất kỳ số lượng trẻ em nào. –

Trả lời

38

Bạn nên thiết lập lề bố trí như dưới đây, trong EditText của bạn trong file .xml

android:layout_marginLeft="5dp" 

bạn có thể làm điều đó cho marginTop Bottom, phải và trái, phụ thuộc vào yêu cầu của bạn. Bạn phải xác định điều này trên các phần tử bố trí, không phải trên chính bố cục đó.

chênh lệch giữa đệm và Margin: - Padding liên quan đến không gian bên trong xem, và Margin là không gian bên ngoài xem hoặc khoảng trống giữa hai quan điểm,

nếu không gian cần thiết bên ngoài nhìn vào bất cứ một hướng, có thể đạt được như đã nêu ở trên. và nếu không gian cần thiết trên tất cả các mặt của môi trường xung quanh xem bên dưới thẻ có thể hữu ích

android:layout_margin="5dp"

+1

Cảm ơn bạn rất nhiều .. Tôi thực sự tự hỏi bởi sự nhiệt tình của bạn :) – Thiru

+2

một điều nữa, những gì bạn hỏi là MARGIN, đệm là một số không gian của văn bản trong bản thân edittext. giống như nếu bạn nói padding_left trong văn bản chỉnh sửa, nó sẽ bắt đầu một số không gian trước khi viết văn bản trong đó .. nếu câu trả lời của tôi đã giúp bạn chấp nhận nó. – AAnkit

+0

Thực hành không tốt để thêm mã đĩa nồi hơi. Bạn nên sử dụng một chủ đề hoặc một nhạt nhẽo có thể vẽ như một dải phân cách –

13

Để cung cấp Margin giữa các trường có thể gán trong bốn hướng.

android:layout_margin="10dp"

bạn cũng có thể sử dụng sau cho các hướng khác nhau ..

android:layout_marginLeft = "10dp"

android:layout_marginRight = "10dp"

android:layout_marginTop = "10dp"

android:layout_marginBottom = "10dp"

+1

Cảm ơn bạn rất nhiều :) – Thiru

+0

'10dp', nơi này đến từ đâu? –

+0

@YoushaAleayoub nó chỉ là một khoảng cách cố định tôi đã giữ. – SilentKiller

6

Chỉ cần thêm bạn có thể thay đổi nó tự động quá

int left = 6; 
int top = 12; 
int right = 6; 
int bottom = 6; 

TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(left, top, right, bottom); 

EditText edXY = new EditText(inventory.this); 
edXY.setLayoutParams(params); 
+0

Cảm ơn bạn rất nhiều :) – Thiru

43

Về cơ bản đây là liên quan đến biên giới của bạn, nếu bạn muốn thêm không gian giữa các yếu tố bên trong biên giới (ví dụ: có biên giới chạm vào), bạn nên sử dụng thuộc tính padding.

Nếu bạn muốn thêm không gian bên ngoài đường viền (có đường viền riêng biệt), bạn nên sử dụng thuộc tính lề.

Kiểm tra hình ảnh này để minh hoạ:

enter image description here

+0

tuyệt vời !!!! Thật là một lời giải thích rõ ràng – Thiru

+0

cách tốt nhất để hiểu ví dụ về lề và đệm cho tươi hơn thực sự nói !!! – duggu

+0

Một bức ảnh đẹp, nhưng tôi cũng sẽ xóa một đường viền màu đen xung quanh nội dung và viền đen tối nhất. – Zon

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