我已经能够使用以下建议自定义操作栏的背景,徽标图像和文本颜色:
Android:如何将ActionBar"Home"图标更改为应用程序图标以外的其他内容?
ActionBar文本颜色
ActionBar背景图片
我要自定义的最后一块是后退按钮图像.它默认是灰色的,我希望它是白色的.更改颜色,指定可绘制或简单地使其透明(并将V形符号添加到我的自定义徽标图像)将起作用.我该怎么做?
我的Action Bar中有一个搜索小部件,如下所示:
(1)如何更改"iPhone"文本的颜色?
(2)此外,如果您注意到灰色X - 整个搜索小部件也是该颜色,当它处于图标位置时.我在Holo.Theme.Light并使用我自己的mods.
如何在styles.xml文件中更改窗口小部件的这两种样式(假设您在哪里对搜索窗口小部件进行更改)?
我想在显示搜索时更改工具栏中后退按钮的颜色(带圆圈的白色箭头)。
我设法改变了所有其他元素的颜色,但我坚持使用后退箭头的颜色。
我可以从 xml 设置折叠图标(可绘制后退箭头):
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:collapseIcon=I_WANT_TO_SET_THIS_PROGRAMMATICALLY>
Run Code Online (Sandbox Code Playgroud)
我设置app:collapseIcon
为我想要的任何可绘制对象并且有效,但是,我需要动态设置它。
我在这里找到的所有建议都不适合我。
不是这个:
final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable. abc_ic_ab_back_material);
upArrow.setColorFilter(myColor, PorterDuff.Mode.SRC_ATOP);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(upArrow);
Run Code Online (Sandbox Code Playgroud)
或这个:
appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
Drawable d = ContextCompat.getDrawable(MyActivity.this, R.drawable.ic_back_white);
d.setColorFilter(myColor, PorterDuff.Mode.SRC_ATOP);
toolbar.setNavigationIcon(d);
// Drawable d = ContextCompat.getDrawable(MyActivity.this, R.drawable.ic_back_white);
// d.setColorFilter(myColor, PorterDuff.Mode.SRC_ATOP);
// getSupportActionBar().setHomeAsUpIndicator(d);
}
});
Run Code Online (Sandbox Code Playgroud)
我发现的其他任何东西都没有。
有人可以帮忙吗?
谢谢