app:srcCompat
与ImageView
允许向后兼容使用载体可绘的.但是,你怎么能与其他使用它们View
小号之外ImageView
?例如,TextView
属性就像android:drawableLeft
.
同时使用矢量drawable作为android:icon
with MenuItem
导致崩溃,但有以下异常:
Fatal Exception: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:626)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
at android.view.LayoutInflater.inflate(LayoutInflater.java:470)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at android.support.v7.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:621)
at android.support.v7.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:40)
at android.support.v4.view.MenuItemCompat.setActionView(MenuItemCompat.java:310)
at android.support.v7.view.SupportMenuInflater$MenuState.setItem(SupportMenuInflater.java:465)
at android.support.v7.view.SupportMenuInflater$MenuState.addItem(SupportMenuInflater.java:479)
at android.support.v7.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:196)
at android.support.v7.view.SupportMenuInflater.inflate(SupportMenuInflater.java:118)
at com.example.niceapp.context.main.MainActivity.onCreateOptionsMenu(MainActivity.java:101)
at android.app.Activity.onCreatePanelMenu(Activity.java:2578)
Run Code Online (Sandbox Code Playgroud)
使用支持库23.2.0,如何解决此问题?
我对使用app:srcCompat="@drawable/icon"
support-library 23.2.0中引入的属性将矢量drawables设置为布局的新可能性感到非常兴奋.
但我想知道如何以编程方式获取其中一个drawables或者设置为背景.
我想到了类似的东西:
ContextCompat.getDrawable(context, R.drawable.icon)
这甚至可能吗?