我有ListView
,其中的行有TextView
。在我的代码中,我需要知道每行的height
能够动态计算列表大小。这是每行中使用的布局:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title_subgroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
android:textSize="18sp"
android:textStyle="bold" />
这是我用来获取像素大小的代码:
float sizeInDip = 10f;
float sizeInSp = 18f;
ROW_HEIGHT = (int) (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, sizeInDip, getResources().getDisplayMetrics())
+ context.getResources().getDisplayMetrics().scaledDensity * sizeInSp);
我得到的结果低于实际尺寸。使用此代码ROW_HEIGHT
为36
,它应该类似于45
。为什么会有这种差异?
谢谢!
答案 0 :(得分:1)
您可以通过致电myView.getParent()
并使用getWidth()
和getHeight()
获取您需要的像素来获取观看次要内容。
该文档为此主题提供了更多信息
http://developer.android.com/reference/android/view/View.html