編輯:關於Android編程
當scrollview中包含listView時,滑動的時候會出現問題。。最常見的問題是listview滑動不了。。。問題原因是在加載listview時它的高度應該按照adapter所綁定的數據來確定,而不是fill_parent或者是wrap_content...
項目中用到了就把它抽取出來做個記錄
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;
public class ListViewUtils {
public void setListViewHeightBasedOnChildren(ListView listView) {
// 獲取ListView對應的Adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0, len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()返回數據項的數目
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0); // 計算子項View 的寬高
totalHeight += listItem.getMeasuredHeight(); // 統計所有子項的總高度
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
// listView.getDividerHeight()獲取子項間分隔符占用的高度
// params.height最後得到整個ListView完整顯示需要的高度
listView.setLayoutParams(params);
}
}具體用法是當我們的listview綁定數據adapter之後通過該util來重新動態確定高度
Android之——清理手機SD卡緩存
目前,市場上很多Android手機軟件都具有清理SD卡緩存的功能,比如360,金山等等。那麼這些軟件是如何實現清理sd卡緩存數據功能的呢?下面,我就給大家演示下,這些功能
安卓之使用DexClassLoader&AssetManager啟動插件的Activity實現功能插件化
深受啟發,所以就寫了這遍文章使用文中的方法實現功能的插件化(雖用不同方法來實現的相同功能,但會從(1)中摘錄許多)。在360安全衛士一些應用中,有些功能需要添加(下載)後
ListView
1.ListView和Adapter1)ListView就是一個能數據集合以動態滾動的方式展示到用戶界面上的View,即:以列表的形式展示具體內容,並且能夠根據數據的長度
Android中利用動態加載實現手機淘寶的節日特效
相信去年聖誕節打開過手機淘寶的童鞋都會對當時的特效記憶猶新吧:全屏飄雪,旁邊還有個小雪人來控制八音盒背景音樂的播放,讓人有種身臨其境的感覺,甚至忍不住想狠狠購物了呢(誤)