Tôi đã cố gắng sử dụng layout_gravity
theo chiều ngang linear layout
. Nhưng nó dường như không hoạt động. Tôi không muốn sử dụng relative layout
hoặc bất kỳ bố cục nào khác. Tôi muốn biết tại sao nó không hoạt động với linear layout
. Tôi đã sử dụng trước đây layout_gravity
trong bố cục tuyến tính vertical
và nó đã hoạt động theo cách tôi mong đợi.layout_gravity không hoạt động trong bố cục tuyến tính ngang
<LinearLayout
android:id="@+id/shata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/title_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@color/black"
android:text="shata1"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<TextView
android:id="@+id/map_imageview"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="shata2"/>
</LinearLayout>
Như bạn có thể thấy cách bố trí các tuyến tính có một orientation=horizontal
và width=match_parent
(nó chỉ là bên trong bố trí root). Nhưng cả hai TextViews được hiển thị gắn bó với bên trái của LinearLayout
mặc dù tôi đã cho tương ứng của chúng layout_gravity=center
và layout_gravity=right
.
Nó sẽ không hoạt động vì bố cục của Textview bị ràng buộc với 'wrap_content' không' match_parent' – ImMathan
Bố cục tuyến tính không hoạt động mà bạn muốn. Bạn nên sử dụng bố cục tương đối. Tại sao bạn không muốn sử dụng bố cục tương đối? – wisemann
layout_gravity trong LinearLayout chỉ có thể thay đổi vị trí đối tượng vuông góc với hướng. Nếu hướng nằm ngang, bạn có thể chỉ định trên cùng và dưới cùng, không phải trái và phải. –