首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:如何在代码中获取listPreferredItemHeight属性的值?

Android:如何在代码中获取listPreferredItemHeight属性的值?
EN

Stack Overflow用户
提问于 2011-05-13 01:43:48
回答 2查看 17.6K关注 0票数 17

下面的代码给出了Resources$NotFoundException

代码语言:javascript
复制
TypedValue value = new TypedValue();
((Activity)context).getResources().getValue(android.R.attr.listPreferredItemHeight, value, true);

编辑:添加更多代码以响应答案。

当我运行下面的代码时,displayMetrics的所有成员都是0。ret也是如此。

代码语言:javascript
复制
TypedValue value = new TypedValue();
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity)context).getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, value, true);
float ret = value.getDimension(displayMetrics);
EN

回答 2

Stack Overflow用户

发布于 2013-02-06 17:43:44

另一个答案

代码语言:javascript
复制
public float getItemHeight() {
    TypedValue value = new TypedValue();
    DisplayMetrics metrics = new DisplayMetrics();

    context.getTheme().resolveAttribute(
            android.R.attr.listPreferredItemHeight, value, true);
    ((WindowManager) (context.getSystemService(Context.WINDOW_SERVICE)))
            .getDefaultDisplay().getMetrics(metrics);

    return TypedValue.complexToDimension(value.data, metrics);
}

它可能更有用。

票数 10
EN

Stack Overflow用户

发布于 2011-12-01 00:30:30

Femi的回答非常有帮助。我并不想贬低他的回答,而是将逻辑放在您应该能够即插即用的library convenience method中。我计划随着时间的推移用其他属性方法更新代码。我希望它对某些人有用。

(请注意,我发现与查询WindowManager相比,Resources.getDisplayMetrics()似乎是一种返回显示指标的更简单的方法。)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5982132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档