您好亲爱的stackoverflower,
在我的项目中,我正在使用新的"android设计库".问题是,有一个运行时异常说(我试图创建一个FloatingButton):
java.lang.RuntimeException: Failed to resolve attribute at index 6
at android.content.res.TypedArray.getColorStateList(TypedArray.java:426)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:91)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:79)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:75)
Run Code Online (Sandbox Code Playgroud)
我弄清楚了哪个属性无法解决:
<style name="Widget.Design.FloatingActionButton" parent="android:Widget">
<item name="android:background">@drawable/fab_background</item>
<item name="backgroundTint">?attr/colorAccent</item> **!! this one is missing !!**
<item name="fabSize">normal</item>
<item name="elevation">@dimen/fab_elevation</item>
<item name="pressedTranslationZ">@dimen/fab_translation_z_pressed</item>
<item name="rippleColor">?attr/colorControlHighlight</item>
<item name="borderWidth">@dimen/fab_border_width</item>
</style>
Run Code Online (Sandbox Code Playgroud)
它位于android-design-library中的res/values/styles/styles.xml中
我在这篇文章中读过API lvl应该是21+.但是由于设计库支持API 7+,实际上这应该不是问题.
值得一提的是,我没有将设计库包含为这样的gradle依赖:
compile 'com.android.support:design:22.2.0'
Run Code Online (Sandbox Code Playgroud)
我正在手动将库添加到项目中,因为Jenkins服务器无法访问Internet.我已将support-v4库更新为21.2.0,同时包含并更新了appcompat support-v7.
这是android-design-library gradle文件:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 17
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用以下类创建图标化弹出菜单:
public class IconizedMenu implements MenuBuilder.Callback, MenuPresenter.Callback {
private Context mContext;
private MenuBuilder mMenu;
private View mAnchor;
private MenuPopupHelper mPopup;
private OnMenuItemClickListener mMenuItemClickListener;
private OnDismissListener mDismissListener;
/**
* Callback interface used to notify the application that the menu has closed.
*/
public interface OnDismissListener {
/**
* Called when the associated menu has been dismissed.
*
* @param menu The PopupMenu that was dismissed.
*/
public void onDismiss(IconizedMenu menu);
}
/**
* Construct a new PopupMenu.
*
* @param context …Run Code Online (Sandbox Code Playgroud)