android-如何检查属性是维度,整数还是资源ID

android-如何检查属性是维度,整数还是资源ID,第1张

概述我试图创建一个相对简单的自定义视图,在该视图中,根据代码的位置,XML描述一个离散值(“100dp”)或资源值(“@dimen/standardWidth”).我不确定如何检查返回的值是否为resid,整数或维值(因为getDimenion(),getInt()和getResourceID()都返回看起来相同的值).我使用以下代码:<

我试图创建一个相对简单的自定义视图,在该视图中,根据代码的位置,XML描述一个离散值(“ 100dp”)或资源值(“ @ dimen / standarDWIDth”).

我不确定如何检查返回的值是否为resID,整数或维值(因为getDimenion(),getInt()和getResourceID()都返回看起来相同的值).

我使用以下代码:

<declare-styleable name="LabeledVIEw">    ...    <attr name="labelWIDth" format="dimension|reference"/>    ...</declare-styleable>

在我的自定义视图中,我使用以下代码:

    if (attrs!=null) {        TypedArray typedArray = getContext().obtainStyledAttributes(                attrs, R.styleable.LabeledVIEw, 0, 0);        int labelWIDth = typedArray.getResourceID(R.styleable.LabeledVIEw_labelWIDth, -1);

在上面的示例中,labelWIDth等于2131165193,因为它实际上是@dimen的残差.

解决方法:

仅使用尺寸格式,不提供参考.但是,您可以为属性使用参考值.应将其视为实际尺寸.

<attr name="labelWIDth" format="dimension"/>typedArray.getDimensionPixelSize
总结

以上是内存溢出为你收集整理的android-如何检查属性是维度,整数还是资源ID全部内容,希望文章能够帮你解决android-如何检查属性是维度,整数还是资源ID所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存