close
有幾天沒有Android了!!
出差三日錯過了一堂課,下飛機收到旁邊大嬸好心的錄音檔,心中充滿感嗯! 方才聽完自學一便,發現本周課程真是硬。也進入了更實用的階段,要跟緊一點了!

今天記錄三個重點:

1. GridView為了達到一格一格的視覺選單效果,在layout新增GridView,然後再去定義GridView每一格子裡面,要用怎樣的顯示資料清單。


接下來去定義每一窗格內容物,這一次,我們設想ATM功能選單,至少要有功能名+所屬icon,於是到layout去新增一個icon的xml檔。




2. 框架架好了後,就要透過Adapter把東西塞進去icon xml再組成GridView。
Adapter: 做為資料和介面的中介物,自然有多種adapter,例如字串陣列String Array用到ArrayAdapter而Cursor從資料庫查找出來的結果要用SimpleCursorAdapter來插到畫面layout上。進一步,進入了GridView的時候,同時要把字串和圖檔塞進去GridView裡,要去新增一個class,繼承BaseAdapter類別。

public class IconAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
return null;
}
}
為求方便,可以把這個新增類別,複製到主要要用到的class下面,
//IconAdapter
public class IconAdapter extends BaseAdapter {
String[] data={"餘額查詢", "提款", "轉帳", "歷史交易", "更改密碼"};-->定義字串陣列,也就是要放在選單上的功能清單
int[] imgs= {R.drawable.f1, R.drawable.f2, R.drawable.f3, R.drawable.f4, R.drawable.f5}; -->課堂提供的icon圖檔,到drawable去貼上圖檔就行了,直接call: R.drawable.圖檔名就可以使用圖檔
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.length; -->說真的,這一段參數定義,我還真聽不懂!!!弄懂後再回來補充。
}
@Override
public Object getItem(int pos) {
// TODO Auto-generated method stub
return data[pos];
}
@Override
public long getItemId(int pos) {
// TODO Auto-generated method stub
return pos;
}
@Override
public View getView(int pos, View view, ViewGroup parent) {
if (view ==null){
View v= getLayoutInflater().inflate(R.layout.icon, null);
TextView tv= (TextView) v.findViewById(R.id.icon_text);
tv.setText(data[pos]);
ImageView iv= (ImageView)v.findViewById(R.id.icon_image);
iv.setImageResource(imgs[pos]);
view= v;
}
// TODO Auto-generated method stub
return view;
}
}
對於[pos]的定義還不是很清楚,明天再問老師吧!

3. 模擬器跑出來成功一次後就一直失敗。(直接歸咎於我們骨董電腦......)下回再貼跑出來樣子吧!




arrow
arrow
    全站熱搜

    brianc18 發表在 痞客邦 留言(0) 人氣()