Trong
khi làm giao diện với xml, ta hãy gặp hai khái niệm Margin và Padding, chúng
hơi khác nhau, cần phân biệt.
Giả
sử ta có 2 textView cạnh nhau trong layout, bình thường file xml như sau.
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_gravity="center_horizontal">
<TextView
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/line2"
android:text="Chữ ví dụ"
android:textColor="#800000"
android:textSize="16sp"
/>
<TextView
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/line2"
android:text="Chữ ví dụ"
android:textColor="#800000"
android:textSize="16sp"
/>
</LinearLayout>
Bây
giờ ta thêm marginLeft cho cả hai textView.
android:layout_marginLeft="10dp"
Ta
thấy cả 2 textView đã dịch đi cách trái một khoảng 10dp.
Bây
giờ thêm paddingLeft cho cả 2 textView.
android:paddingLeft="10dp"
Ta
thấy chữ đã dịch vào trong cách lề một khoảng 10dp.
Như
vậy sự khác nhau của chúng là Margin sẽ tác động đến toàn bộ view, dịch đi một
khoảng cách view bên cạnh. Còn Padding chỉ tác động tới chữ ở trong view, dịch
chữ đi cách lề của view một khoảng.
Phân
biệt 2 điều này giúp ta lựa chọn giữa chúng để căn chỉnh chữ.
Nếu
có textView bị hẹp, muốn một ký tự có thể lấn vào lề phải, ta sẽ dùng padding.
<TextView
android:layout_width="87dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/line2"
android:text="Chữ ví dụ
dài"
android:singleLine="true"
android:ellipsize="none"
android:paddingRight="-5dp"
android:layout_marginLeft="10dp"
android:textColor="#800000"
android:textSize="16sp" />
No comments:
Post a Comment