Tôi có một bitmap lát gạch mà tôi đang sử dụng làm nền View
. Ví dụ: View
, có android:layout_height="wrap_content"
. Vấn đề là chiều cao của bitmap được sử dụng trong nền đang tham gia đo lường chế độ xem, tăng chiều cao View
. Điều này có thể được nhận thấy khi kích thước nội dung của View
nhỏ hơn chiều cao của bitmap được sử dụng làm nền lát.Nền lát gạch đang đẩy kích thước Xem của nó
Hãy để tôi chỉ cho bạn một ví dụ. Bitmap ngói:
bitmap drawable (tile_bg.xml
):
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/tile"
android:tileMode="repeat"/>
Cách bố trí:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/tile_bg"
android:text="@string/hello"
android:textColor="#000000" />
</LinearLayout>
Làm thế nào nó trông giống như:
Chiều cao của TextView
kết thúc bằng chiều cao của bitmap. Những gì tôi đã mong đợi là bitmap được cắt bớt theo kích thước của View
.
Có cách nào để đạt được điều này không?
Ghi chú:
- tôi không thể sử dụng 9patch drawables kể từ khi nền cần phải được lặp đi lặp lại một cách gạch thời trang, kéo dài không phải là một lựa chọn.
- tôi không thể thiết lập chiều cao cố định cho
View
, nó phụ thuộc của trẻ em (Tôi đang sử dụng điều này trong mộtViewGroup
) - hành vi kỳ lạ này xảy ra như tôi đã giải thích trước khi kích thước của
View
nhỏ hơn kích thước của bitmap, nếu không bitmap được lặp lại một cách chính xác (ví dụ, nếu kích thước xem là 1,5x kích thước của bitmap, bạn sẽ thấy 1,5 lần bitmap). - Ví dụ đề cập đến chiều cao, nhưng giống với chiều rộng.
Câu trả lời hay, cảm ơn! – aromero