Android的:如何获得的&QUOT值列表preferredItemHeight"属性中的code? [英] Android: how to get value of "listPreferredItemHeight" attribute in code?

查看:159
本文介绍了Android的:如何获得的&QUOT值列表preferredItemHeight"属性中的code?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面code给出资源$ NotFoundException

 的TypedValue值=新的TypedValue();
((活动)范围内).getResources()的getValue(android.R.attr.list preferredItemHeight,值,真)。
 

编辑:更多code加入反应来回答。

当我运行低于code, displayMetrics 中的所有成员都为0正如 RET

 的TypedValue值=新的TypedValue();
DisplayMetrics displayMetrics =新DisplayMetrics();
((活动)范围内).getTheme()resolveAttribute(android.R.attr.list preferredItemHeight,价值,真正的);
浮RET = value.getDimension(displayMetrics);
 

解决方案

本作品:

 的TypedValue值=新的TypedValue();
((活动)范围内).getTheme()resolveAttribute(android.R.attr.list preferredItemHeight,价值,真正的);
 

编辑:你得到零,因为没有初始化 DisplayMetrics 实例正常。它需要的参考(显示器)的框架做任何有意义的转换。

  android.util.TypedValue值=新android.util.TypedValue();
布尔B = getTheme()resolveAttribute(android.R.attr.list preferredItemHeight,值,真)。
字符串s = TypedValue.coerceToString(value.type,value.data);
android.util.DisplayMetrics指标=新android.util.DisplayMetrics();
。getWindowManager()getDefaultDisplay()getMetrics(度量)。
浮RET = value.getDimension(指标);
 

在我的Nexus 1 取值 64.0dip RET 96 的。

The below code gives Resources$NotFoundException

TypedValue value = new TypedValue();
((Activity)context).getResources().getValue(android.R.attr.listPreferredItemHeight, value, true);

EDIT: More code added in response to answer.

When I run the below code, all members of displayMetrics are 0. As is ret.

TypedValue value = new TypedValue();
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity)context).getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, value, true);
float ret = value.getDimension(displayMetrics);

解决方案

This works:

TypedValue value = new TypedValue();
((Activity)context).getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, value, true);

EDIT: You get zero because haven't initialized the DisplayMetrics instance properly. It needs a frame of reference (a display) to do any meaningful conversion.

android.util.TypedValue value = new android.util.TypedValue();
boolean b = getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, value, true);
String s = TypedValue.coerceToString(value.type, value.data);
android.util.DisplayMetrics metrics = new android.util.DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float ret = value.getDimension(metrics);

On my Nexus 1 s is 64.0dip and ret is 96.

这篇关于Android的:如何获得的&QUOT值列表preferredItemHeight"属性中的code?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆