7

Tôi có một ứng dụng Android hoạt động đơn lẻ với nhiều đoạn. Khi tôi hiển thị màn hình danh sách, tôi muốn sử dụng số Toolbar với thuộc tính, app:layout_scrollFlags="scroll|enterAlways". Và trong các đoạn chi tiết tôi muốn sử dụng CollapsingToolbarLayout với một hình ảnh trong đó. Vì đó là một ứng dụng Hoạt động, tôi chỉ có một số Toolbar. Có thể sửa đổi bố cục của tôi theo chương trình cho phù hợp với cả hai trường hợp không?Thay đổi Thanh công cụ và Thu gọnThanh công cụThanh cuộn di chuyển theo chương trình

Trả lời

9

Có. Giả sử bạn đang đi từ đoạn CollapsingToolbarLayout đến đoạn Thanh công cụ.

  1. Bạn thu gọn AppBarLayout sử dụng AppBarLayout.setExpanded(false);

  2. Bạn thay đổi cờ cuộn để phù hợp với nhu cầu của mình.

    AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams(); 
    p.setScrollFlags(...); 
    toolbar.setLayoutParams(p); 
    

    Cùng đi cho CollapsingToolbarLayout nếu cần. Tôi đoán nó phải được cái gì đó như:

    collapsingToolbarParams.setScrollFlags(0); //no flags for ctl 
    toolbarParams.setScrollFlags(SCROLL_FLAG_SCROLL | SCROLL_FLAG_ENTER_ALWAYS); //new flags for toolbar 
    
+0

Tôi cũng có vấn đề này. Có vẻ như tôi đã quên gọi phương thức 'setLayoutParams()'. Cảm ơn câu trả lời! – Mauker

+1

setScrollFlags (0) hoạt động tốt nhưng khi tôi cố gắng đặt nó thành: params.setScrollFlags (AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS | AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP); // xóa tất cả các cờ cuộn toolbar.setLayoutParams (params); không hoạt động .. – iBobb

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