Tôi muốn làm nổi bật biểu tượng ngăn kéo trong số Toolbar
của mình (làm việc trên hướng dẫn). Vì điều đó, tôi cần vị trí của nó. Làm cách nào để tôi có được tham chiếu đến chế độ xem biểu tượng điều hướng (hamburger) của trình thu hút?Nhận biểu tượng điều hướng của Thanh công cụ xem tham chiếu
Trả lời
Bạn có thể sử dụng mô tả nội dung của quan điểm và sau đó sử dụng findViewWithText()
phương pháp để có được cái nhìn tham khảo
public static View getToolbarNavigationIcon(Toolbar toolbar){
//check if contentDescription previously was set
boolean hadContentDescription = TextUtils.isEmpty(toolbar.getNavigationContentDescription());
String contentDescription = !hadContentDescription ? toolbar.getNavigationContentDescription() : "navigationIcon";
toolbar.setNavigationContentDescription(contentDescription);
ArrayList<View> potentialViews = new ArrayList<View>();
//find the view based on it's content description, set programatically or with android:contentDescription
toolbar.findViewsWithText(potentialViews,contentDescription, View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION);
//Nav icon is always instantiated at this point because calling setNavigationContentDescription ensures its existence
View navIcon = null;
if(potentialViews.size() > 0){
navIcon = potentialViews.get(0); //navigation icon is ImageButton
}
//Clear content description if not previously present
if(hadContentDescription)
toolbar.setNavigationContentDescription(null);
return navIcon;
}
Thú vị, nhưng tại sao chúng ta phải làm điều này. Tại sao không có cái gì đó như 'toolbar.getNavigationIconView()' – Singed
Sau khi nhìn vào chế độ xem con của Thanh công cụ trong chế độ gỡ lỗi, tôi thấy biểu tượng ngăn kéo có thể được tìm thấy ở đó, dưới dạng ImageButton. (Cảm ơn Elltz)
tôi sử dụng một thanh công cụ với bố trí tùy chỉnh xml với 2 trẻ em (LinearLayout và ImageView), do Thanh công cụ của tôi đã có 4 trẻ em cuối cùng, với các vị trí:
[0] LinearLayout(from custom xml)
[1] ImageView(from custom xml)
[2] ImageButton(drawer icon)
[3] ActionMenuView(menu icon)
Biết được điều này, tôi hiện có thể sử dụng:
View drawerIcon = toolbar.getChildAt(2);
để nhận tham chiếu đến biểu tượng trình đơn ngăn kéo. Trong trường hợp của tôi, vị trí là 2. Vị trí này phải bằng số lần xem của con trong bố cục thanh công cụ tùy chỉnh của bạn.
Nếu ai đó tìm thấy giải pháp tốt hơn, vui lòng cho tôi biết.
Nếu bạn chỉ muốn để có được những Drawable
đại diện cho biểu tượng trên thanh công cụ điều hướng, bạn có thể làm điều này:
Drawable d = mToolbar.getNavigationIcon();
Bạn có thể tham chiếu đến ImageButton được sử dụng cho biểu tượng điều hướng olbar bằng cách có một phương pháp như thế này:
public ImageButton getToolbarNavigationButton() {
int size = mToolbar.getChildCount();
for (int i = 0; i < size; i++) {
View child = mToolbar.getChildAt(i);
if (child instanceof ImageButton) {
ImageButton btn = (ImageButton) child;
if (btn.getDrawable() == mToolbar.getNavigationIcon()) {
return btn;
}
}
}
return null;
}
- 1. Cách thay đổi biểu tượng điều hướng Thanh công cụ và lề menu tùy chọn
- 2. Thiếu biểu tượng điều hướng sau khi chuyển từ ICS ActionBar sang Thanh công cụ Lollipop
- 3. thanh công cụ android nút điều hướng id
- 4. Công cụ Azure - Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng
- 5. Biểu tượng thanh công cụ tô màu trên Android
- 6. Làm cách nào để bắt biểu tượng điều hướng, nhấp vào thanh công cụ từ phân đoạn?
- 7. Thay đổi màu biểu tượng trên thanh công cụ
- 8. Biểu tượng trên thanh công cụ của iPad: hình ảnh nút thanh không ở giữa?
- 9. Biểu tượng tùy chỉnh trong thanh công cụ Android
- 10. đặt biểu tượng ở cuối thanh công cụ
- 11. Căn chỉnh biểu tượng với biểu tượng Thanh công cụ - Thiết kế Vật liệu Android
- 12. Xóa phần đệm lớn sau biểu tượng bánh hamburger (menu) trong Thanh công cụ của Android?
- 13. Xóa lề trái khỏi biểu tượng ngăn điều hướng android
- 14. Ios7 safari kiểm soát thanh điều hướng trên cùng và dưới cùng/thanh công cụ
- 15. Biểu tượng logo của thanh công cụ có thể nhấp được không?
- 16. iOS 7 UITableView Sử dụng thanh điều hướng trong suốt và thanh công cụ
- 17. Thay đổi biểu tượng thanh công cụ của ứng dụng khi đang chạy
- 18. ExtJs 4 tham chiếu đến nút thanh công cụ trong lưới
- 19. thiết lập kích thước của biểu tượng thanh điều hướng ios
- 20. Thêm các nút vào thanh công cụ của Finder?
- 21. IPHONE: ABPeoplePickerNavigation Thanh điều hướng ẩn của thanh điều khiển
- 22. android.support.v7.widget.Tạo vấn đề liên kết biểu tượng thanh công cụ
- 23. Tham chiếu Lỗi tới Hộp công cụ âm thanh trong Mục tiêu C
- 24. Tại sao thêm lần xem hình ảnh vào thanh điều hướng trong bảng phân cảnh xóa thanh điều hướng?
- 25. Angular2: Hiển thị các thành phần "thanh công cụ" khác nhau tùy theo điều hướng chính
- 26. Android: Chế độ xem điều hướng dưới cùng - biểu tượng thay đổi của mục đã chọn
- 27. Tạo thanh công cụ của trình duyệt?
- 28. Làm cách nào để thay đổi màu của thanh công cụ trong Bộ điều khiển Điều hướng trong iOS?
- 29. Cách xóa biểu tượng ngăn Điều hướng
- 30. Tôi muốn ẩn thanh điều hướng iOS trên chế độ xem cụ thể
'((ViewGroup) yourtoolbar) .get (0);' nó có thể là '0' hoặc' 1' nhưng im chắc chắn zero của nó, btw này là những gì bạn muốn? nó sẽ trả về một 'View' và' View' là biểu tượng ngăn kéo của bạn có thể là một 'imageButton' – Elltz
Bạn có ý nghĩa gì" làm nổi bật "biểu tượng ngăn kéo? –
Bạn có chắc chắn bạn cần chế độ xem để làm nổi bật không? bạn có thể có được drawable được sử dụng cho các biểu tượng ví dụ. –