android– 如何以编程方式设置工具栏collapseIcon颜色

android– 如何以编程方式设置工具栏collapseIcon颜色,第1张

概述我想在显示搜索时更改工具栏中后退按钮的颜色(带圆圈的白色箭头).我设法改变了所有其他元素的颜色,我坚持使用后箭头颜色.我可以从xml设置collapseIcon(后退箭头drawable):<android.support.v7.widget.Toolbarandroid:id="@+idoolbar"android:layout_width="match

我想在显示搜索时更改工具栏中后退按钮的颜色(带圆圈的白色箭头).

我设法改变了所有其他元素的颜色,我坚持使用后箭头颜色.

我可以从xml设置collapseIcon(后退箭头drawable):

<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>

我将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);

或这个:

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);            }        });

我找不到任何其他东西.

有人可以帮忙吗?

谢谢

解决方法:

终于搞定了……

这对我有用:

final Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.toolbar);AppbarLayout appbar = (AppbarLayout) findVIEwByID(R.ID.appbar);appbar.addOnOffsetChangedListener(new AppbarLayout.OnOffsetChangedListener() {    @OverrIDe    public voID onOffsetChanged(AppbarLayout appbarLayout, int verticalOffset) {        for (int i = 0; i < toolbar.getChildCount(); i++) {            VIEw vIEw = toolbar.getChildAt(i);            if (vIEw instanceof Imagebutton) {                Imagebutton btn = (Imagebutton) vIEw;                Drawable drawable = btn.getDrawable();                drawable.setcolorFilter(new_button_color, PorterDuff.Mode.SRC_Atop);                btn.setimageDrawable(drawable);            }        }    }});
总结

以上是内存溢出为你收集整理的android – 如何以编程方式设置工具栏collapseIcon颜色全部内容,希望文章能够帮你解决android – 如何以编程方式设置工具栏collapseIcon颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1119573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存