Trên ứng dụng Android của tôi, tôi tùy chỉnh ActionBar theo các mẹo từ android developer blog và các địa điểm khác. Tôi muốn có thể làm nổi bật một mục menu cụ thể trên ActionBar, ví dụ: với một màu nền khác vì nó đặc biệt áp dụng cho một đoạn hiện có thể nhìn thấy (mà thực sự đã thêm nó). Tuy nhiên tôi đã không tìm thấy bất kỳ dấu hiệu cho thấy điều này có thể được thực hiện cũng không có tôi quản lý để làm như vậy bản thân mình được nêu ra. Có thể không? Nếu thế thì sao?Giao diện/kiểu dáng khác nhau cho mục menu cụ thể trên ActionBar
6
A
Trả lời
12
Vì vậy, tôi đã làm việc này ngay bây giờ với một chút mẹo vặt. Ở đây sẽ là đoạn mã
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menuItemCreateCart = menu.findItem(R.id.menuItemCreateCart);
if (menuItemCreateCart == null) {
menuItemCreateCart = menu.add(0, R.id.menuItemCreateCart, 0, R.string.Create);
}
TextView tv = new TextView(getActivity());
tv.setText(R.string.Create);
tv.setTextColor(getResources().getColor(R.color.green));
tv.setBackgroundColor(getResources().getColor(R.color.lightBlue));
tv.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
createCart();
}
}
);
menuItemCreateCart.setActionView(tv);
Gotcha chính là OnClickListener phải được đặt trên quan điểm cho rằng bạn thiết lập như xem hành động và không phải là mục trình đơn cho nó để làm việc. Bằng cách này bạn có thể làm bất cứ điều gì bạn thích.
Cũng lưu ý rằng bạn KHÔNG thể sử dụng getActionView để truy xuất chế độ xem được đặt ban đầu với tiêu đề vì nó sẽ trả về giá trị rỗng. Dường như có nhiều chế độ xem thay thế hơn chế độ xem thực tế cho các mục menu mặc định ..
+0
Đã làm việc cho tôi :) – Shivansh
Các vấn đề liên quan
- 1. Bật/Tắt mục menu ActionBar
- 2. Hiển thị menu bật lên trên mục `ActionBar` nhấp
- 3. FragmentStatePageAdapter sao chép các mục menu ActionBar
- 4. Android: Thay đổi các mục menu ActionBar từ Fragment
- 5. Tạo menu thả xuống ActionBar
- 6. ASP.NET MVC - menu cho các vai trò khác nhau
- 7. Làm cách nào tôi có thể làm mới ActionBar khi onPrepareOptionsMenu chuyển các mục menu?
- 8. Các biểu tượng ActionBar có kích thước khác nhau
- 9. Magento Admin :: Xóa mục Menu cho Vai trò/Người dùng cụ thể
- 10. Android ActionBar Tùy chọn tạo lại Menu
- 11. Thêm mục menu vào menu ngữ cảnh của cửa sổ chỉ dành cho loại tệp cụ thể
- 12. Các vị trí và mục menu cụ thể cho mỗi thẻ đi kèm
- 13. cách tắt menu ngữ cảnh cho các mục ListView cụ thể trong Android
- 14. MySQL - Các công cụ khác nhau cho các bảng khác nhau
- 15. Mục Hành động ActionBar không hiển thị
- 16. Cách xử lý các thực thể thuộc tính khác nhau cho các thực thể khác nhau
- 17. Áp dụng các kiểu dáng cụ thể cho các dòng trong MultiGeometry trong KML
- 18. MySQL Chọn ID xuất hiện trên các hàng khác nhau với nhiều giá trị cụ thể cho một cột
- 19. Tôi có thể sửa đổi theme_menu_link cho một menu cụ thể không?
- 20. DB khác nhau và giao diện người dùng cho Meteor
- 21. Làm thế nào để thêm các mục menu con vào hành động ActionBar trong mã?
- 22. Làm cách nào để thêm dấu phân cách giữa các mục menu trong ActionBar?
- 23. RestKit ánh xạ lồng nhau thành mục mảng cụ thể
- 24. mục menu trên thanh tác vụ onclick?
- 25. Làm cách nào để thêm mục vào ActionBar hàng đầu?
- 26. Chỉ mục MongoDB trên các loại khác nhau
- 27. Thêm mục nhập ứng dụng cụ thể vào Menu Cài đặt Android
- 28. Công cụ khác nhau của SQL Server
- 29. Kết nối TCP/IP trên một giao diện cụ thể
- 30. XCode Tài nguyên khác nhau cho các mục tiêu khác nhau
Bạn có chắc chắn sẽ không dễ sử dụng biểu tượng hơi khác? Hoặc các thay đổi nền trước khác mà bạn có thể thực hiện thông qua chế độ xem hành động tăng cao tùy chỉnh của riêng bạn hoặc 'ActionProvider'? – CommonsWare
hiện tại đây là văn bản và biểu tượng sẽ khó hiểu hơn. Xét về chế độ xem hành động tùy chỉnh hoặc ActionProvider ... Tôi sẽ phải xem xét điều đó. –
Bạn có thể thay đổi màu nền trước của văn bản, ít nhất là nếu bạn đi đến chế độ xem hành động/'ActionProvider'. Thật không may, Android không hỗ trợ thẻ '