Tôi có một số ImageView
và TextView
. Tôi muốn đặt TextView
bên dưới chế độ xem hình ảnh nhưng với phần giữa của TextView
được căn chỉnh ở giữa của ImageView
(dọc theo trục ngang). Nếu văn bản trong số TextView
thay đổi đối với nội dung lớn hơn hoặc nhỏ hơn nhiều, phần giữa của văn bản luôn cần được căn chỉnh giữa phần giữa của ImageView
. Điều này có thể xảy ra trong xml
không?Android: Căn chỉnh một phần tử bên dưới và ở giữa một phần tử khác
Trả lời
Có, bạn chỉ đơn giản là tìm cách để chứa cả yếu tố trong một dọc LinearLayout
trong đó có android:gravity
thiết lập để center_horizontal
.
Something như thế này:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
... >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
... />
</LinearLayout>
Bởi vì chiều rộng của TextView
là wrap_content
, thiết lập lực hấp dẫn của nó không phải là cần thiết. Tôi sẽ làm điều đó chỉ vì sự an toàn (và ngoài ra, tôi cũng có thể thiết lập chiều rộng là match_parent
).
Thật đáng xấu hổ vì tôi đã làm điều đó ở một nơi khác trong mã. Dù sao cũng cảm ơn bạn. – AndroidDev
Vì vậy, nó hoạt động cho mục đích của bạn? Nếu đó là giải pháp, hãy xem xét đánh dấu nó là chính xác để những người khác có thể tìm thấy nó là tốt. – Eric
Bạn không thể đánh dấu nó ngay lập tức. Bạn phải đợi vài phút. Bệnh nhân. Tôi hầu như luôn luôn đánh dấu chúng. – AndroidDev
đặt TextView
android:layout_width="fill_parent"
và đặt android:gravity="center"
trong TextView
.
Tôi nghĩ nó giúp ích cho bạn.
Cảm ơn
Bạn có thể tận dụng RealtiveLayout như sau ..
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
... >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... />
<TextView
android:layout_below="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
Nếu bạn muốn TextView của mình là có dòng chỉ sau đó thêm các thuộc tính sau đây để TextView
android: ellipsezed = "kết thúc" android: singleLine = "true"
Sử dụng bố cục nhất định và thêm bố cục đó vào bất kỳ bố cục hiện có nào của bạn mà bạn nhận được kết quả tìm kiếm của bạn ..
Hy vọng giải thích này phù hợp với bạn ..
Giữa trung lưu. –
Tôi nghĩ điều này được gọi là câu đố ở giữa! –