<style name="MySearchViewStyle" parent="Widget.AppCompat.Light.SearchView">
<item name="android:layout">@layout/custom_search_layout</item>
</style>
我创建了这个,但不知道放在哪里。
我需要将SearchView
的下划线(在工具栏中)更改为图像。
我不知道怎么做。请帮助我,如果有人知道如何做到这一点或参考链接将是很大的帮助。[任何帮助绘制像这个图像的xml文件
答案 0 :(得分:0)
这肯定会奏效。
SearchView mSearchView = (SearchView)menu.findItem(R.id.search).getActionView();
try
{
Field searchField = SearchView.class.getDeclaredField("mSearchButton");
searchField.setAccessible(true);
ImageView searchBtn = (ImageView)searchField.get(mSearchView);
searchBtn.setImageResource(R.drawable.search_img);
searchField = SearchView.class.getDeclaredField("mSearchPlate");
searchField.setAccessible(true);
LinearLayout searchPlate = (LinearLayout)searchField.get(mSearchView);
((ImageView)searchPlate.getChildAt(0)).setImageResource(R.drawable.search_img);
searchPlate.setBackgroundResource(R.drawable.edit_text_bkg); // set your custom background here
}
catch (NoSuchFieldException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
使用此自定义背景drawable -
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="1dp"
android:left="0dp"
android:right="0dp"
android:top="-2dp">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#FE8059" />
</shape>
</item>
</layer-list>
我已经测试过,它运行正常。