Tôi gặp sự cố với LinearLayout trên Android. Tôi có bốn nút. Mỗi nút có kích thước cố định, nhưng văn bản có thể khác nhau về độ dài.LinearLayout - Theo chiều dọc không căn chỉnh
Vấn đề của tôi là chúng không phù hợp với phần trên cùng của mỗi phần. Họ thấy được sắp xếp với đầu của văn bản bên trong mỗi botton mà thay đổi tùy thuộc vào số lượng các dòng có bên trong nút (Xem hình).
Ngoài ra, tôi muốn tiếp tục sử dụng LinearLayout vì cuối cùng tôi sẽ sử dụng mã sẽ thêm các nút dựa trên dữ liệu từ cơ sở dữ liệu.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:text="Line1 Line2" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1 Line2 Line3" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
</LinearLayout>
</LinearLayout>
EDIT: ĐÁP (Không thể trả lời câu hỏi của riêng tôi):
Ok, tôi chỉ tìm thấy câu trả lời của bản thân mình. Bạn phải thêm android: baselineAligned = "false" vào LinearLayout hoặc bất kỳ điều khiển tương tự nào khác có thể hiển thị cùng một hành vi.
Bạn cũng có thể sửa lỗi này trong trình thiết kế giao diện người dùng bằng nút có tên "Chuyển đổi căn chỉnh đường cơ sở".
Vì vậy, các mã kết quả là:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:baselineAligned="false" android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:text="Line1 Line2" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1 Line2 Line3" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
<Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button>
</LinearLayout>
</LinearLayout>
Cảm ơn lời khuyên về android: baselineAligned = "false", nó cũng cố định vấn đề của tôi :-) –