2012-07-15 25 views
8

Tôi đang sử dụng một ViewPager để cuộn giữa các đoạn khác nhau. Có hai loại phân đoạn, sử dụng hai tài nguyên menu khác nhau. Tôi đang vô hiệu hóa menu để chuyển đổi giữa các tài nguyên đó khi cần thiết. Đó là tất cả làm việc khá tốt, nhưng menu là "vẽ lại" mà không có một hình ảnh động.Tạm thời ẩn ActionBar mà không thay đổi kích thước Hoạt động

Để tránh làm phiền các MenuItem riêng lẻ, tôi đã hy vọng tôi có thể ẩn nhanh ActionBar trong khi menu mới được tải, hiển thị khi thực hiện xong. Đó là hoạt động như mong đợi, nhưng hoạt động được thay đổi kích thước khi ActionBar được bật.

Có cách nào để ngăn điều này xảy ra hay nói cách khác là ẩn chuyển đổi xấu giữa các tài nguyên menu?

Trả lời

17

Tôi không nắm bắt được phần menu của sự cố, nhưng có một giải pháp dễ dàng để ngăn hoạt động của bạn thay đổi kích thước khi ActionBar xuất hiện hoặc biến mất.

Bạn có thể yêu cầu ActionBar vẽ chính nó ở chế độ lớp phủ, có nghĩa là nó sẽ nổi trên đầu hoạt động, thay vì thực sự là một phần của bố cục hoạt động. Sử dụng android:windowActionBarOverlay trong chủ đề của bạn hoặc cờ Window.FEATURE_ACTION_BAR_OVERLAY từ mã.

Bạn có thể muốn sử dụng tính năng này cùng với hằng số actionBarSize, chỉ định độ lệch chính xác cho chế độ xem đầu tiên trong bố cục của bạn. Bằng cách này, nội dung của bạn vẫn xuất hiện bên dưới ActionBar, nhưng vì ActionBar chính là lớp phủ, khi ẩn/hiển thị nó, hoạt động sẽ không thay đổi kích thước.

<SomeView 
    ... 
    android:layout_marginTop="?android:attr/actionBarSize" /> 

Chi tiết khác có thể tìm thấy trong the documentation.

+0

Hoàn hảo, hoạt động như được quảng cáo :) –

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