burgessjp/ThemeSkinning

Toolbar上面弹出菜单背景颜色应该怎么响应主题变化?

moonmanbu opened this issue · 3 comments

经试验, 在定义style里设置android:itemBackground或者android:colorBackground都可以改变菜单的背景颜色,
在ListMenuItemView.java的构造函数有这句话

    public ListMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs);

        final TintTypedArray a = TintTypedArray.obtainStyledAttributes(getContext(),
                attrs, R.styleable.MenuView, defStyleAttr, 0);

        mBackground = a.getDrawable(R.styleable.MenuView_android_itemBackground);
        mTextAppearance = a.getResourceId(R.styleable.
                MenuView_android_itemTextAppearance, -1);
        mPreserveIconSpacing = a.getBoolean(
                R.styleable.MenuView_preserveIconSpacing, false);
        mTextAppearanceContext = context;
        mSubMenuArrow = a.getDrawable(R.styleable.MenuView_subMenuArrow);

        a.recycle();
    }
    mBackground = a.getDrawable(R.styleable.MenuView_android_itemBackground);

但是怎么让它响应主题变化呢? 我自定义了一个ItemBackgroundAttr, 但是不起作用

你说的这个我去找了下没找到怎么去获取对应的view,但是理论上只要能获取到view就可以换肤,你可以再去搜一搜有没有方法获取其对应的View。

Sent from my Xiaomi MI 6 using FastHub

webview 的两个缩放按钮 ZoomButton在SkinManager.getNightDrawable的时候,resId和nightResId均为0 目前我在外面包裹了一个 try catch, 建议此处强化一下!

id 等于0 是不会发生异常的

Sent from my Xiaomi MI 6 using FastHub