更新工具栏中的 androidx SearchView 文本颜色

Update androidx SearchView text color in toolbar

我有很多问题试图弄清楚如何通过编程方式或在 xml 主题内更改我的 androidx searchview 上的文本。下面是我的相关代码。如何将文本从黑色更新为白色,使其像屏幕截图一样显示在黑色背景上?

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/search"
        android:title="Search"
        android:icon="@drawable/search"
        app:showAsAction="collapseActionView|ifRoom"
        app:actionViewClass="com.exposure.controls.ExposureSearchView" />
</menu>

public class ExposureSearchView extends SearchView {

    public ExposureSearchView(Context context) {
        super(context);
        //((ImageView) findViewById(androidx.appcompat.R.id.search_button)).setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.search));
    }
    
    public boolean isDisabled() {
        return disabled;
    }

    public void setDisabled(boolean disabled) {
        this.disabled = disabled;
    }

    private boolean disabled;
    private MenuItem menuItem;
    private boolean expanded;

    public void storeMenuItem(MenuItem menuItem) {
        this.menuItem = menuItem;
    }
    
    public MenuItem getMenuItem() {
        return this.menuItem;
    }
    
    @Override
    public void onActionViewExpanded() {
        super.onActionViewExpanded();
        expanded = true;
    }

    @Override
    public void onActionViewCollapsed() {
        super.onActionViewCollapsed();
        expanded = false;
    }

    public boolean isExpanded() {
        return expanded;
    }
}

如果您使用片段或 Activity,您可以将下面的代码添加到您的 onCreateOptionsMenu ()

EditText txtSearch = (searchView.findViewById(androidx.appcompat.R.id.search_src_text));
txtSearch.setTextColor(Color.WHITE);

你应该主题颜色,喜欢

?attr/colorOnSurface

,满足你的需求