如何更改操作栏搜索视图提示文本颜色?
这个问题解释了如何在使用ABS时获取EditText: Android ActionBar自定义搜索视图
有没有android.R.id我可以用来获取EditText的引用,所以我可以改变提示颜色?或者还有其他方法可以改变颜色吗?

我有一个SearchView内部LinearLayout,我试图TextSize为它设置一个不同的(但SearchView)当设置android:textSize="60sp"为例时,没有任何反应.
这是我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="2dp">
<SearchView
android:id="@+id/searchView"
android:layout_width="350dp"
android:textSize="60sp"
android:layout_height="80dp"
android:layout_marginTop="15dp"/>
<ListView
android:id="@+id/search_results"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
有谁知道如何修改TextSize控件?
有人知道如何更改appcompat SearchView的文本颜色吗?我花了2个小时从SO那里尝试了几个建议,但都没有.
这是我的代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:espacios="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/layer_switcher_button"
android:icon="@drawable/b_categorias"
android:title="@string/menu_layer_switcher_title"
espacios:showAsAction="ifRoom|collapseActionView"/>
<item
android:id="@+id/action_search"
android:icon="@drawable/b_buscar"
android:title="@string/menu_search_title"
espacios:actionViewClass="android.support.v7.widget.SearchView"
espacios:showAsAction="ifRoom|collapseActionView"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
在我的活动中我有这个:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
menuItem layerSwitcher = menu.findItem(R.id.layer_switcher_button);
layerSwitcher.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
onLayerSwitcherButtonClicked();
return false;
}
});
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
LinearLayout ll = (LinearLayout) searchView.getChildAt(0);
TextView textView = (TextView) ll.getChildAt(0);
textView.setTextColor(R.color.white);
}
Run Code Online (Sandbox Code Playgroud) 我想知道如何设置Android 4.0下拉弹出窗口的样式SearchView?

我正在使用Theme.Sherlock.Light.DarkActionBar,但我不知道如何将下拉搜索样式设置为白色背景和黑色文本?
这样做时我总是得到textView为null:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat
.getActionView(searchItem);
int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
TextView textView = (TextView) searchView.findViewById(id);
textView.setTextColor(Color.WHITE);
}
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?
我有以下问题.我已将Actionbar设置为使用工具栏,而不是使用API 21和appcompat-v7:21.在textColorPrimary风格标签被配置为使用的颜色@android:color/white,所以在新的Android工具栏所有的冠军将有一个白色的文本颜色(越远越好).
现在我添加了一个SearchView,并为它设置自定义背景,如下所示:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/action_bar_background</item>
<item name="colorPrimaryDark">@color/status_background</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="searchViewStyle">@style/SearchViewStyle</item>
</style>
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
<item name="queryBackground">@drawable/search_background</item>
<item name="searchIcon">@drawable/icon_search</item>
</style>
Run Code Online (Sandbox Code Playgroud)
drawable @drawable/search_background是一个纯白色矩形.那猜猜怎么着?由于工具栏中的标题文本颜色为白色,因此SearchView中的文本颜色现在也是白色,而SearchView背景是白色矩形,用户无法看到他正在键入的内容.
我的问题是:如何为Android工具栏标题和SearchView文本提供不同的文本颜色?
我的SearchView位于布局(LineaLayout/RelativeLayout)不在操作栏中.如何更改文本颜色.默认颜色是白色如何更改文本颜色?
几天前我注意到我输入的文字SearchView没有显示出来.也许这个问题在很久以前开始了,我没有注意到它,但我知道当我第一次设置搜索功能时,一切都运行良好.
这是一个截图(我已经输入了文本,你可以看到它没有显示):
我已经尝试SearchView用这个SO问题改变文本的颜色,并且我也尝试在我的可搜索配置XML文件中更改文本颜色.在我发现这些都不起作用后,我撤消了我的更改,以便您可以看到我目前在下面的代码:
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu) {
...
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchResultsActivity.class)));
// Note: getSearchableInfo(getComponentName()) will not work on all flavours
// because of a difference in app IDs
}
Run Code Online (Sandbox Code Playgroud)
请注意,我使用的是new ComponentName(...)代替,getSearchableInfo(getComponentName())因为我在不同的口味中使用不同的包名称.
上面的活动SearchView是显示的位置.结果显示在另一项活动中.
searchable.xml
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint" />
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
...
<activity
android:name=".ui.MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme">
<meta-data …Run Code Online (Sandbox Code Playgroud) 我想更改搜索视图提示的文本颜色,但我尝试了很多方面没有成功.就像在这篇文章中:改变动作栏searchview提示文本颜色
我正在使用Appcompat,支持动作栏库.
我尝试使用null指针返回:
AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
searchView.findViewById(R.id.abs__search_src_text);
searchText.setHintTextColor(getResources().getColor(R.color.white));
searchText.setTextColor(getResources().getColor(R.color.white));
Run Code Online (Sandbox Code Playgroud)