androidgridview載入
Ⅰ 實現android系統中ListView和Gridview兩個布局之間點擊跳轉的操作方法有哪些
1. 首先,如下所示,將GridView和ListView布局到同一個頁面中;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/app_title"
android:layout_width="fill_parent"
android:layout_height="44dip"
android:text="@string/main_service_title"
android:gravity ="center"
android:textSize="27px"
android:textColor="#ffffff"
android:background ="@drawable/title_bar"/>
<GridView
android:id="@+id/app_grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:padding="10dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:columnWidth="60dp"
android:stretchMode="columnWidth"
android:gravity="center"/>
<ListView
android:id="@+id/app_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:divider="@drawable/divider"/>
</LinearLayout>
Ⅱ 如何設置 android gridview 怎麼設置 , 一些item可以點擊,另外.....
這個要在代碼中進行設置,基本上有兩種方式:
在GridView所在的 activity(或者fragment)中, 找到該View,監聽點擊事件:
java">gridView.setOnItemClickListener(newAdapterView.OnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){
//點擊item觸發,進行判斷,如果需要處理點擊,就進行處理,否則,什麼也不做
if(/*處理點擊條件*/){
//要做的事
}
}
});在自己寫的GridView對應的適配器中(一般繼承於BaseAdapter)的getView中進行判斷,如果是需呀處理的item, 就調用setOnClickListener,並定義相應的點擊事件,否則可以不綁定點擊事件。
Ⅲ Android獲取到手機應用圖標並顯示在GridView中。現在想通過點擊相應圖標進入對應應用程序,應該怎麼樣實現
這個很簡單,給你主要代碼
PackageManager pm = getPackageManager(); // 得到PackageManager對象
// List<ApplicationInfo> packs = pm.getInstalledApplications(0); //
// 得到系統安裝的所有程序包的PackageInfo對象
List<PackageInfo> packs = pm.getInstalledPackages(0); // 得到用戶安裝的所有程序包的PackageInfo對象
for (PackageInfo pi : packs) {
map = new HashMap<String, Object>();
// 顯示用戶安裝的應用程序,而不顯示系統程序
if ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0
&& (pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0) {
// 這將會顯示所有安裝的應用程序,不包括系統應用程序
/**
* 獲得文件大小 publicSourceDir獲得路徑,再通過該路徑創建一個文件new File(String dir),
* 得到該文件長度除以1024則取得該應用的大小。
* 取得程序大小,通過application的publicSourceDir獲得。
* 取得程序時間,通過application的SourceDir獲得。
*/
String dir = pi.applicationInfo.publicSourceDir;
int size = Integer.valueOf((int) new File(dir).length());
long date = new Date(new File(dir).lastModified()).getTime();
map.put("appName", pi.applicationInfo.loadLabel(pm));// 應用程序名稱
map.put("icon", pi.applicationInfo.loadIcon(pm));// 圖標
map.put("versionName", "版本 :" + pi.versionName);// 應用程序版本\
map.put("appSize2", size);// 應用程序大小
map.put("packages", pi.applicationInfo.packageName); // 應用程序包名
map.put("appSize", "大小 :" + ToSzie(size));// 應用程序大小
map.put("appDate", date);// 應用程序時間
items.add(map);
}
}
啟動 :
String path ="package:"+v.getTag();
Uri packageURI = Uri.parse(path);
Intent uninstallIntent = new Intent(this packageURI);
context.startActivity(uninstallIntent);
Ⅳ Android開發gridview功能
parent.getAdapter().getItem(position)
parent.getItemAtPosition(position)
這兩個方法都行,返回Object類型,你可以進行一下轉型
註:如果你看源碼的話會發現其實都是用adapter.getItem(position) 獲得的
Ⅳ Android中gridview 修改後 立即刷新數據
adapter.notifyDataSetChanged();就是刷新列表的意思,調用這行代碼後,adapter會重新調用一次adapter的getView方法,來重新繪制列表,因此刷新列表只能刷新所有,不能單個,建議使用自定義的Adapter,SimpleAdapter 使用太麻煩,提供的api太少,數據處理也困難。
Ⅵ android的gridview載入圖片一多了就卡,甚至程序OMM溢出
造成這個的原因可能有幾個方面:
1、圖片的體積過大,導致載入幾張就可能oom,解決辦法是優化圖片以後再載入
2、在android3.0以下的機器上,bitmap資源需要自己手動釋放,就是需要自己監聽滑動事件釋放不在屏幕中圖片所在的資源
不過實際項目開發中,一般用的都是第三方的圖片載入框架,圖片池、異常的捕獲和處理等都處理好了,推薦使用Glide即可
Ⅶ android GridView 的一個問題,我想把gridview設置成日歷,4行7列,怎麼實現
首先Gridview,設置numcols=7,然後設置每頁的size為4*7 ,這樣能夠保證每頁就是4行7列。 然後就是隱藏textview的問題了,這個實現就有多種方法了。 可以自定一個SurfaceView,在這個SurfaceView中添加textview,當然也可以直接,只是多加一層(遮罩層)。要控制好隱藏很簡單visibility的Gone和visible就行了。看你的Item的xml布局寫的如何了。 要隱藏和顯示可以添加淡入淡出或者其他的動畫效果。