如何删除具有可绘制背景的搜索视图上的下划线
How to remove underline on searchview with drawable background
Snapshot from emulator
如何去掉图中的下划线?
将其设置为透明或更改背景无济于事。
已经尝试过这些解决方案:
同时以编程方式将样式更改为 actionbar-searchview。更改查询背景的问题是它会忽略我已经设置的可绘制背景。
<SearchView
android:id="@+id/searchViewBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner"
android:focusable="true"
android:queryHint=" "
/>
试试下面的代码:
View v = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
v.setBackgroundColor(Color.parseColor("here give actionbar color code"));
您需要更改声明此视图的 search_edit_frame、search_plate 和 search_bar。
int searchFrameId = searchView.getContext().getResources().getIdentifier("android:id/search_edit_frame", null, null);
View searchFrame = searchView.findViewById(searchFrameId);
searchFrame.setBackgroundResource(R.drawable.rounded_corner);
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null);
View searchPlate = findViewById(searchPlateId);
searchPlate.setBackgroundResource(R.drawable.rounded_corner);
int searchBarId = searchView.getContext().getResources().getIdentifier("android:id/search_bar", null, null);
View searchBar = findViewById(searchBarId);
searchBar.setBackgroundResource(R.drawable.rounded_corner);
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null);
View searchPlate = findViewById(searchPlateId);
searchPlate.setBackgroundResource(0);
这将从搜索板块中删除任何类型的背景。
Snapshot from emulator
如何去掉图中的下划线? 将其设置为透明或更改背景无济于事。
已经尝试过这些解决方案:
同时以编程方式将样式更改为 actionbar-searchview。更改查询背景的问题是它会忽略我已经设置的可绘制背景。
<SearchView
android:id="@+id/searchViewBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner"
android:focusable="true"
android:queryHint=" "
/>
试试下面的代码:
View v = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
v.setBackgroundColor(Color.parseColor("here give actionbar color code"));
您需要更改声明此视图的 search_edit_frame、search_plate 和 search_bar。
int searchFrameId = searchView.getContext().getResources().getIdentifier("android:id/search_edit_frame", null, null);
View searchFrame = searchView.findViewById(searchFrameId);
searchFrame.setBackgroundResource(R.drawable.rounded_corner);
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null);
View searchPlate = findViewById(searchPlateId);
searchPlate.setBackgroundResource(R.drawable.rounded_corner);
int searchBarId = searchView.getContext().getResources().getIdentifier("android:id/search_bar", null, null);
View searchBar = findViewById(searchBarId);
searchBar.setBackgroundResource(R.drawable.rounded_corner);
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null);
View searchPlate = findViewById(searchPlateId);
searchPlate.setBackgroundResource(0);
这将从搜索板块中删除任何类型的背景。