Tôi đang cố gắng tập trung vào một nút trong bố cục tương đối, điều này có thể không? Tôi đã thử các chức năng Trọng lực và Định hướng nhưng chúng không làm gì cả.
Tôi đang cố gắng tập trung vào một nút trong bố cục tương đối, điều này có thể không? Tôi đã thử các chức năng Trọng lực và Định hướng nhưng chúng không làm gì cả.
Câu trả lời:
Thử
android:layout_centerHorizontal="true"
Chính xác như thế này, nó hoạt động với tôi:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000">
<Button
android:id="@+id/btn_mybutton"
android:layout_height="wrap_content"
android:layout_width="124dip"
android:layout_marginTop="5dip"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Bạn có thể sử dụng CENTER_IN_PARENT cho bố cục tương đối.
Thêm android:layout_centerInParent="true"
vào yếu tố mà bạn muốn tập trung vào RelativeLayout
Arcadia, chỉ cần thử mã dưới đây. Có một số cách để có được kết quả mà bạn đang tìm kiếm, đây là một trong những cách dễ dàng hơn.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"/>
</RelativeLayout>
Đặt trọng lực của RelativeLayout sẽ ảnh hưởng đến tất cả các đối tượng được đặt bên trong nó. Trong trường hợp này, nó chỉ là nút. Tất nhiên, bạn có thể sử dụng bất kỳ cài đặt trọng lực nào ở đây (ví dụ: centre_horizontal, trên cùng, bên phải, v.v.).
Bạn cũng có thể sử dụng mã này dưới đây:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"
android:layout_centerInParent="true"/>
</RelativeLayout>
Tóm tắt
Thêm:
android:layout_centerInParent="true"
chỉ hoạt động trên RelativeLayout, nếu một trong các thuộc tính sau cũng được đặt cho chế độ xem:
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
mà điều chỉnh khung nhìn con với khung nhìn cha mẹ. "Trung tâm" dựa trên trục của sự sắp xếp mà bạn đã chọn:
trái / phải -> dọc
trên / dưới -> ngang
Đặt trọng lực của trẻ em / nội dung trong chế độ xem:
android:gravity="center"
đang định tâm đứa trẻ bên trong khung nhìn cha mẹ trong mọi trường hợp, nếu không có bộ căn chỉnh. Tùy chọn bạn có thể chọn:
<!-- Axis to Center -->
android:gravity="center_horizontal"
android:gravity="center_vertical"
<!-- Alignment to set-->
android:gravity="top"
android:gravity="bottom"
android:gravity="left"
android:gravity="right"
android:gravity="fill"
...
Sau đó có:
android:layout_gravity="center"
đó là trung tâm của chính khung cảnh bên trong nó
Và cuối cùng, bạn có thể thêm thuộc tính sau vào chế độ xem cha mẹ:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
Sử dụng thuộc tính android:centerInParent="true"
bên trong một khung nhìn, khi bạn muốn định tâm khung nhìn trong bố cục tương đối.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NWE"
android:textSize="30dp"/>
</RelativeLayout>
Thật dễ dàng, không căn chỉnh nó với bất cứ điều gì
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
Nó thực sự dễ dàng. Hãy thử mã dưới đây,
<RelativeLayout
android:id="@+id/second_RL"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_RL"
android:background="@android:color/holo_blue_bright"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>