如何删除具有可绘制背景的搜索视图上的下划线

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);

这将从搜索板块中删除任何类型的背景。