Error: Expected resource of type styleable [ResourceType] error

自作多情 提交于 2019-12-03 09:31:09

I had the same issue when trying to build a signed apk. Solved it by adding @SuppressWarnings("ResourceType") to suppress the warning, now it works fine.

@StyleableRes int index = 1;

mPaddingRight = ta.getDimensionPixelSize(index, 0); 

So the way I fixed this in Kotlin is the following: (thanks to Simons post)

companion object {
    private val attributes = intArrayOf(
            android.R.attr.paddingLeft,
            android.R.attr.paddingTop,
            android.R.attr.paddingBottom,
            android.R.attr.paddingRight)
}

init {
    val arr = context.obtainStyledAttributes(attrs, attributes)

    @StyleableRes
    var i = 0

    val leftPadding = arr.getDimensionPixelOffset(i++, 0)
    val topPadding = arr.getDimensionPixelOffset(i++, 0)
    val rightPadding = arr.getDimensionPixelOffset(i++, 0)
    val bottomPadding = arr.getDimensionPixelOffset(i, 0)

    arr.recycle()
}
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.paddingLeft, outValue, true);
int paddingLeft = outValue.data;

Repeat the same for android.R.attr.paddingRight

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!