如何更改SearchView底线的颜色

时间:2019-02-11 20:27:32

标签: java android xml android-view searchview

很简单,如何在Android中更改SearchView底部的线条颜色?我已经尝试过使用queryBackground,背景和其他各种方法,但是似乎无法用XML来获取它。我很高兴以编程方式或以XML方式进行操作。只希望它能工作!

干杯SearchView example

3 个答案:

答案 0 :(得分:1)

使用“以下”方法更改SearchView底行的颜色。

在这里我将蓝色添加为底线

private void customizeSearchView() {
        int searchTextId = getResources().getIdentifier("android:id/search_src_text", null, null);
        EditText searchBox = ((EditText) searchView.findViewById(searchTextId));
        searchBox.setBackgroundColor(Color.WHITE);
        searchBox.getLayoutParams().height = LinearLayout.LayoutParams.MATCH_PARENT;
        int search_plateId = getResources().getIdentifier("android:id/search_plate", null, null);
        View mSearchPlate = ((View) searchView.findViewById(search_plateId));
        mSearchPlate.setBackgroundColor(Color.BLUE);

        int searchCloseImageId = getResources().getIdentifier("android:id/search_close_btn", null, null);
        ImageView searchClose = ((ImageView) searchView.findViewById(searchCloseImageId));// change color
        searchClose.setBackgroundColor(Color.WHITE);
    }

答案 1 :(得分:0)

嗨,尝试一下可能会对您有所帮助

  android.support.v7.widget.SearchView searchView=findViewById(R.id.search_view);
    View v = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
    v.setBackgroundColor(Color.parseColor("color code"));

答案 2 :(得分:0)

androidx.appcompat.widget.SearchView searchView = findViewById(R.id.Search_Categorie);
View v = searchView.findViewById(androidx.appcompat.R.id.search_plate);
v.setBackgroundColor(Color.parseColor("#ffffff"));