cuốn sách gpt4 ai đã làm

android - Làm cách nào để tô màu các mục menu của điều hướng ngăn kéo?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 19:15:29 28 4
mua khóa gpt4 Nike

Tôi đang tạo điều hướng ngăn kéo và tôi thấy cửa hàng playtore có các biểu tượng menu màu và tôi đang tự hỏi làm cách nào để thực hiện điều đó. Tôi cố gắng áp dụng màu sắc trên biểu tượng menu thông qua colorFilter nhưng ứng dụng buộc phải đóng

Ứng dụng của tôi

những gì tôi muốn

đây là mã của tôi



<>
android:id="@+id/grp1"
android:checkableBehavior="single">
<>
android:id="@+id/navigation_songs"
android:đã kiểm tra="true"
android:icon="@drawable/ic_audiotrack_white_24dp"
android:title="@string/songs" />
<>
android:id="@+id/navigation_albums"
android:icon="@drawable/ic_album_white_24dp"
android:title="@string/albums" />
<>
android:id="@+id/navigation_artist"
android:icon="@drawable/ic_person_white_24dp"
android:title="@string/artists" />
<>
android:id="@+id/navigation_playlist"
android:icon="@drawable/ic_playlist_play_white_24dp"
android:title="@string/playlist" />

<>
android:id="@+id/grp2"
android:checkableBehavior="none">
<>
android:id="@+id/navigation_about"
android:icon="@drawable/ic_info_white_24dp"
android:title="@string/about" />
<>
android:id="@+id/navigation_settings"
android:icon="@drawable/ic_settings_white_24dp"
android:title="@string/settings" />


câu trả lời hay nhất

  1. ĐẾNTất cả các biểu tượngĐể vẽ một màu cụ thể, bạn cần phảiứng dụng:itemIconTint Thêm vào của bạnChế độ xem điều hướng:

    <>
    ........
    app:itemIconTint=""/>

    nhập mô tả hình ảnh ở đây

  2. muốnChỉ sử dụng hai màuLàm sáng biểu tượng của bạn:

    Tạo bộ chọn:






    và sử dụng nó như ứng dụng:itemIconTint Áp dụng cho bạn Chế độ xem điều hướng 中:

    <>
    ........
    app:itemIconTint="@drawable/tint_color_selector"/>

    Bước cuối cùng - thêm android:đã kiểm tra="true" Thêm vào xml của menu ngăn kéo mà bạn muốn chải Thực đơnCác mục:

     <>
    android:id="@+id/nav_slideshow"
    android:đã kiểm tra="true"
    android:icon="@drawable/ic_menu_slideshow"
    android:title="Trình chiếu" />

    nhập mô tả hình ảnh ở đây

  3. Làm mới tất cả các biểu tượng đểkhác biệtMàu sắc, giống như Google thực hiện trong Google Play:

    Tắt màu biểu tượng:

      NavigationView.setItemIconTintList(null);

    Thêm biểu tượng bạn muốn độ phân giải/có thể vẽ được và chỉ định chúng trong xml của menu là android:biểu tượng. (Tôi có thể giới thiệu một dịch vụ tốt cho biểu tượng android icon8.com/web-app/new-icons/android )

    nhập mô tả hình ảnh ở đây

    Bạn có thể vẽ các biểu tượng hiện có thay vì tải lên các biểu tượng đầy màu sắc mới, nhưng điều này rất khó thực hiện:

        Drawable oldIcon = NavigationView
    .getMenu()
    .findItem(R.id.nav_gallery)
    .getIcon();

    if (!(oldIcon instanceof BitmapDrawable)) {
    return;
    }

    Bitmap bất biến = ((BitmapDrawable)oldIcon).getBitmap();
    Bitmap có thể thay đổi = immutable.copy(Bitmap.Config.ARGB_8888, true);
    Canvas c = Canvas mới (có thể thay đổi);
    Sơn p = Sơn mới();
    p.setColor(Color.RED);
    p.setColorFilter(PorterDuffColorFilter mới(Color.RED, PorterDuff.Mode.MULTIPLY));
    c.drawBitmap(có thể thay đổi, 0.f, 0.f, p);
    BitmapDrawable newIcon = new BitmapDrawable(getResources(), có thể thay đổi);

    điều hướngXem
    .getMenu()
    .findItem(R.id.nav_gallery)
    .setIcon(newIcon);

    Để ý! trong dự án mẫu res/drawables-v21 , Google sử dụng VectorCó thể vẽ được thay vì cái cũ Bản vẽ bitmap, vì vậy mã này không hoạt động ở đó.

Hy vọng điều này sẽ giúp.

Giới thiệu về android - Làm cách nào để tô màu các mục menu của điều hướng ngăn kéo? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/34705823/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress