2012-04-20 37 views
6

Tôi cần phải chuyển một ImageView, là con trực tiếp của LinearLayout, một chút về bên trái.Đặt lề âm trên ImageView thay đổi ImageView nhưng không phải Hình ảnh

Điều gì xảy ra: Chế độ xem được dịch chuyển (có thể thấy "hộp giới hạn" được dịch chuyển, với trình quản lý bố cục Android) nhưng có thể kéo ở cùng một vị trí.

Cũng có thể vẽ được ở bên phải, nếu tôi đặt lề thấp đủ.

enter image description here

Tại sao điều này? Lời khuyên nào?

  • Làm rõ: Tôi phải chuyển hình ảnh sang trái. Điều đó có nghĩa là một chút ouside của giới hạn của bố trí có chứa.

Trả lời

4

Có vẻ như các phần tử luôn bị cắt bớt khi chúng nằm ngoài giới hạn của cha mẹ (cũng với clipChildren = false).

Giải pháp là tạo bố cục vùng chứa bổ sung cho mọi thứ ngoài mục cần dịch chuyển. Và sau đó thay đổi bố trí vùng chứa theo hướng ngược lại.

Ví dụ, để chuyển -10dip:

<Original container ...> 
    <Item to be shifted/> 
    <New container with margin 10dip> 
     <Previous content of Original container ... /> 
    </New container with margin 10dip> 
</Original container> 
+0

Cảm ơn bạn đã trả lời nhưng bạn có vui lòng cung cấp cho chúng tôi một ví dụ với mã thực không? Tôi không thể có được ý tưởng. Cảm ơn bạn trước. – Natasha

+0

Xin chào. Vẫn cần nó? Xin lỗi không có thời gian ... chỉ cần đặt cả hai mục bạn muốn "thay đổi" và phần còn lại (trong bố cục chứa) bên trong bố cục tương đối hoặc khung và thay vì chuyển mục sang trái, hãy chuyển "phần còn lại" sang rigt ... – Ixx

+0

Cảm ơn nhận xét. – Natasha

1

Tại sao bạn sử dụng ký quỹ âm? sử dụng tích cực hơn một chút ở phía đối diện của ImageView theo hướng bạn muốn thay đổi hình ảnh, tức là nếu bạn muốn chuyển hình ảnh sang bên trái, hãy sử dụng lề tích cực hơn ở bên phải.

+0

Tôi phải chuyển Hình ảnh sang bên trái. Điều đó có nghĩa là một chút ouside của giới hạn của bố trí có chứa. – Ixx

+0

Thử sử dụng 'android: adjustViewBounds =" true "' trong xml để tự động điều chỉnh giới hạn của chế độ xem. – orchidrudra

+0

Không được giúp đỡ ::::/ – Ixx

3

Nếu container của bạn có đủ đệm bạn có thể đặt clipToPadding nó để sai và sử dụng lợi nhuận tiêu cực!

Các vấn đề liên quan