在Xamarin中添加android标准图标的最佳方法

Jef*_*eyM 5 icons android toolbar xamarin material-design

我正在使用“ android.support.v7.widget.Toolbar”中的工具栏。

将(标准)图标添加到Android应用程序的最佳方法是什么?

我做了什么...

  • 我从以下网站下载了图标(24dp,白色):https ://design.google.com/icons/
  • 解压缩zip文件并将每个图标放入应用程序中的指定文件夹(hdpi,mdpi,xhdpi,xxhdpi,xxxhdpi)
  • 我将mdpi图标添加到了文件夹(资源/可绘制)

现在,我引用布局中的图标,例如:

android:icon="@drawable/ic_search_white_24dp"
Run Code Online (Sandbox Code Playgroud)

但是我的图标有点模糊。我究竟做错了什么?

模糊图像的图片(搜索图标)

工具列

<android.support.v7.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Run Code Online (Sandbox Code Playgroud)

我链接到该图标的Searchview

<menu
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        tools:context=".MainActivity">
  <item
      android:id="@+id/action_search"
      android:orderInCategory="200"
      android:title="Zoeken"
      android:icon="@drawable/ic_search_white_24dp"
      app:showAsAction="ifRoom|collapseActionView"
      app:actionViewClass="android.support.v7.widget.SearchView"
      android:inputType="textCapCharacters"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

Sre*_*raj 2

通常我使用36dp图像作为toolbar. 您可以从Material Design Icons底部的下拉列表中下载 36 dp 变体。您可以下载它并在菜单中替换为

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">
<item
  android:id="@+id/action_search"
  android:orderInCategory="200"
  android:title="Zoeken"
  android:icon="@drawable/ic_search_white_36dp"
  app:showAsAction="ifRoom|collapseActionView"
  app:actionViewClass="android.support.v7.widget.SearchView"
  android:inputType="textCapCharacters"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

您还可以将其他自定义图标(为了清晰起见,使用 36 dp 图标)添加到工具栏,如下所示

 <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/transparent"
            android:minHeight="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
            <Button
                android:id="@+id/editButton"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_gravity="right"
                android:background="@drawable/ic_edit_white_36dp"
                android:layout_marginRight="16dp"
                android:visibility="gone" />
        </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)