編輯:關於Android編程
定義一個函數將dp轉換為像素
public int Dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
定義函數動態控制listView的高度
public void setListViewHeightBasedOnChildren(ListView listView) {
//獲取listview的適配器
ListAdapter listAdapter = listView.getAdapter(); //item的高度
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = mAdapter.getView(i, null, listView);
listItem.measure(0, 0); //計算子項View 的寬高 //統計所有子項的總高度
totalHeight += Dp2Px(getApplicationContext(),listItem.getMeasuredHeight())+listView.getDividerHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight; listView.setLayoutParams(params);
}
在每次listView的adapter發生變化後,要調用setListViewHeightBasedOnChildren(listView)更新界面
樣式效果 1、創建底部的布局layout_footer.xml 2、在自定義的ListView中 初始化話FooterVi
前言Android的源碼公開策略豐富了手持設備的多樣性,但隨之而來的卻是較為嚴重的”碎片化”——版本繁多、尺寸多樣、功能定
?1背景知識1.1Android平台軟件動態分析現狀眾所周知,在計算機領域中所有的軟件分析方法都可以歸為靜態分析和動態分析兩大類,在Android平台也不例外。而隨著軟件
簡介NineoldAndroids是Github上一個著名的動畫庫,簡單來說,NineOldAndroids是一個向下兼容的動畫庫,主要是使低於API 11的系統也能夠使