更新工具栏中的 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
,满足你的需求
我有很多问题试图弄清楚如何通过编程方式或在 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
,满足你的需求