如何在SearchView中预先设置清晰的按钮颜色?

时间:2018-02-06 19:21:00

标签: android toolbar

我尝试了this方法。但是,图标在设备上变得模糊。我能找到的其他答案没有帮助。任何帮助,将不胜感激。 enter image description here

我正在使用的代码:

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            />


@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.toolbar_menu, menu);

    MenuItem item = menu.findItem(R.id.menu_item_search);
    final SearchView searchView =  (SearchView) item.getActionView();


    ImageView searchCloseImage = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
    searchCloseImage.setImageResource(R.drawable.close24);

    super.onCreateOptionsMenu(menu, inflater);
}

我的styles.xml:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#009688</item>
    <item name="colorPrimaryDark">#00796B </item>
    <item name="colorAccent">#4CAF50</item>

</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

1 个答案:

答案 0 :(得分:1)

使用此网站将图片转换为不同尺寸:romannurik.github.io

将您的图片添加到Android工作室res - &gt; mipmap文件夹(逐个) enter image description here

这些是不同的图像尺寸:

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

然后从mipmap设置图像:

ImageView searchCloseImage = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
searchCloseImage.setImageResource(R.mipmap.close24);