7

Vì vậy, trong dự án của tôi, tôi đã sử dụng biểu tượng tìm kiếm tài liệu chuẩn trong thanh tác vụ.Không thể phân giải biểu tượng abc_ic_search_api_mtrl_alpha

<menu 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" > 
<item 
    android:id="@+id/search" 
    android:title="@string/action_search" 
    android:icon="@drawable/abc_ic_search_api_mtrl_alpha" 
    app:showAsAction="collapseActionView|ifRoom" 
    app:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 

Nhưng nếu tôi cập nhật libreries từ 23.0.1 đến 24.1.1 Android Studio nói:

Không thể giải quyết biểu tượng abc_ic_search_api_mtrl_alpha

Tại sao vậy? Tôi đã tìm kiếm trên google nhưng không tìm thấy câu trả lời.

Trả lời

25

Tôi đã tìm thấy một vấn đề tương tự trên StackOverflow: error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

Câu trả lời cho chủ đề trên là:

Tên của tài nguyên đã được thay đổi trong thư viện 23.2.0 hỗ trợ.

Sửaabc_ic_ab_back_mtrl_am_alphađểabc_ic_ab_back_material

Chỉnh sửa: Trong 23.2.1 tên của thành phần được đổi lại thành abc_ic_ab_back_mtrl_am_alpha

Chỉnh sửa: Trong 24.0.0 tên của thành phần được thay đổi đến: abc_ic_ab_back_material

Tất cả những gì bạn cần làm là cha nge tên abc_ic_search_api_mtrl_alpha-abc_ic_ab_search_material

Nó sẽ làm việc

Cập nhật

Đối với phiên bản API 24.2.1 và sử dụng hơn dưới đây từ khóa.

abc_ic_search_api_material

Nó sẽ làm việc.

+6

abc_ic_ab_search_material không hoạt động – mbonnin

+1

abc_ic_search_api_material sẽ hoạt động (ít nhất là 24.2.1) – Sharpe

+0

OH C'MON! Google sẽ không đổi tên tài nguyên của họ rồi ... –

1

Bạn có thể nhập các biểu tượng tài liệu 'quay lại' và 'tìm kiếm' làm bản vẽ vector.

Nhấp chuột phải res/drawable ->New ->vector asset

Sau đó bạn có thể tùy chỉnh màu sắc của đối tượng vẽ bằng DrawableCompat.setTint(). Điều này không chỉ linh hoạt hơn mà nó cũng không phá vỡ các bản cập nhật trong thư viện hỗ trợ trong tương lai.

+0

vâng, tôi đã bắt đầu phần tử vectơ usig nhưng tôi nhận thấy rằng tất cả các biểu tượng đều có màu đen trên Android 4.0 (ICS). Ngay cả khi tôi đổi màu thành trắng –

+0

'DrawableCompat.setTint (drawable.mutate(), Color.WHITE)' sẽ hoạt động. Phải không? – mbonnin

+0

Bạn có thể dễ dàng thay đổi màu sắc bằng cách sửa đổi tệp XML này trong thư mục drawable: Thay đổi thành android: fillColor = "# FFFFFFFF". –

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