プログラムでリストビュー内のアイテムの高さを取得しようとしています。そうすることができ、私は当社のウェブサイトにSOMのepostと呼ばれ、私は値が上記のコードから返された次のコードgetMeasuredHeight()はピクセルまたはdpで戻り値を返します
private float calcListViewItemsHeight(ListView listView) {
Log.d(TAG, getApplicationContext().getResources().getResourceEntryName(listView.getId()) + ".getCount() :" + listView.getCount());
int height = 0;
for (int i = 0; i < listView.getCount(); i++) {
View childView = listView.getAdapter().getView(i, null, listView);
childView.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
height+= childView.getMeasuredHeight();
}
//dividers height
height += listView.getDividerHeight() * listView.getCount();
Log.d(TAG, getApplicationContext().getResources().getResourceEntryName(listView.getId()) + "totalHeight in px: " + height);
float dp = this.px2dp(height);
Log.d(TAG, getApplicationContext().getResources().getResourceEntryName(listView.getId()) + "totalHeight in dp: " + dp);
return dp;
//return height;
}
で出てきた、おそらく私は私のコードDPに変換するために持っている意味、ピクセル単位であることをさまざまな画面サイズでうまく動作します。私のリストは4つの項目が含まれているよう
private float px2dp(int pxVal) {
float density = this.getResources().getDisplayMetrics().density;
return (pxVal/ density);
}
今、私はアイテムの数を表し、次のlogCat出力は、リストビューに含まれていますし、高さの: は私がfollowin Gコードを使用DPするピクセルへ変換しますピクセルとDPの両方でリストビューは、このメソッド「calcListViewItemsHeight」戻り値「高さ」は、私のように、高さのリストビューを持っている私は理解できませんでした
12-10 10:27:40.817 D/VersDetailActivity2: versicherungsListeActivity2mod_lisVie_versDetails.getCount() :4
12-10 10:27:40.822 D/VersDetailActivity2: versicherungsListeActivity2mod_lisVie_versDetailstotalHeight in px: 533
12-10 10:27:40.822 D/VersDetailActivity2: versicherungsListeActivity2mod_lisVie_versDetailstotalHeight in dp: 266.5
、上に掲載「calcListViewItemsHeight」 から来reults img_1に表示されていますが、 'calcListViewItemsHeight'が 'dp'を返した場合は、 ew of height img_2
「getMeasuredHeight()」はdpまたはピクセルで値を返しますか?
img_1:
img_2:
提供された情報ありがとうございました...この質問もご覧くださいhttp://stackoverflow.com/questions/41074602/regarding-understanding-the-layout-units – user2121