? ? ?【威哥說】我們每個(gè)人的感情有著極大的鼓舞力量似嗤,它是一切道德行為的重要前提川背,誰要是沒有強(qiáng)烈的志向,也就不能夠熱烈地把這個(gè)志向體現(xiàn)于事業(yè)中规哪。作為程序員求豫,寫出好的代碼就是我們的事業(yè)。
? ? ? 【正文】
? ? ? ?又到了Android項(xiàng)目實(shí)戰(zhàn)真槍實(shí)彈诉稍,今天是第五炮蝠嘉。給大家講解下首頁的實(shí)現(xiàn),首頁是用Android非常經(jīng)典的一個(gè)組件GridView來實(shí)現(xiàn)杯巨,這里使用simpleAdapter來實(shí)現(xiàn)數(shù)據(jù)的顯示蚤告。
首先我們來布局,非常簡(jiǎn)單服爷,一個(gè)標(biāo)題和一個(gè)gridview組件:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.moliying.androidlifehelper.activity.MainActivity">
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="磨礪營(yíng)教育記錄軟件"
android:textSize="30sp"
android:background="#00f"
android:textColor="#fff"
android:textStyle="bold"
android:gravity="center"
android:paddingTop="5dp"
android:paddingBottom="5dp"
/>
android:id="@+id/main_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:gravity="center"
android:layout_below="@id/textview"
android:layout_marginTop="5dp"
>
然后是首頁Activity的實(shí)現(xiàn):
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private static final int ACCOUNTING = 0;
private static final int QUERYSTATUS = 1;
private GridView mGridView;
private int mImageArray[];
private String mTextString[];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
mGridView = (GridView) findViewById(R.id.main_gridview);
mGridView.setOnItemClickListener(this);
//加載數(shù)據(jù)
initData();
}
private void initData() {
mImageArray = new int[]{R.mipmap.grid_payout,R.mipmap.grid_bill,R.mipmap.grid_account_book,R.mipmap.grid_category,R.mipmap.grid_report,R.mipmap.grid_user};
mTextString = new String[]{"記賬","查詢","讀書會(huì)","存款","消費(fèi)詳情","個(gè)人信息"};
//準(zhǔn)備適配器需要添加的數(shù)據(jù)
List> mapList = new ArrayList>();
for (int i = 0; i < 6;i++){
Map item = new HashMap();
item.put("imageItem",mImageArray[i]);//添加圖像資源的id
item.put("textItem",mTextString[i]);//添加文本資源
mapList.add(item);
}
//實(shí)例化一個(gè)simpleAdapter適配器
SimpleAdapter adapter = new SimpleAdapter(this,mapList,R.layout.item_home_gridview,
new String[]{"imageItem","textItem"},
new int[]{R.id.item_grid_imageview,R.id.item_grid_textview});
mGridView.setAdapter(adapter);
}
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
switch (position){
case ACCOUNTING://添加數(shù)據(jù)
startActivity(new Intent(this,AccountActivity.class));
break;
case QUERYSTATUS://查詢數(shù)據(jù)
startActivity(new Intent(this,QueryActivity.class));
break;
case 2:
Toast.makeText(this,"2",Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(this,"3",Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(this,"4",Toast.LENGTH_SHORT).show();
break;
}
}
//返回鍵按兩次退出
private long firstTime;
@Override
public void onBackPressed() {
if (firstTime + 2000 > System.currentTimeMillis()){
super.onBackPressed();
System.exit(0);
}else {
Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_SHORT).show();
}
firstTime = System.currentTimeMillis();
}
}
? ? ? ?這里我只實(shí)現(xiàn)了兩個(gè)模塊的功能杜恰,更多的大家可以按照實(shí)例自己去實(shí)現(xiàn),另外仍源,由于是項(xiàng)目的主頁心褐,也就是home頁面,所以笼踩,這里重寫了onBackPressed方法逗爹,實(shí)現(xiàn)點(diǎn)擊兩次back按鍵返回的效果。
? ? ? 本節(jié)內(nèi)容比較簡(jiǎn)單嚎于,但是也有很多地方要嘗試掘而,尤其是simpleAdapter的使用挟冠,實(shí)際的練習(xí)下體會(huì)會(huì)更深刻。Ok镣屹,首頁咱們也完成了圃郊,下節(jié)課最后一節(jié)价涝,咱們講解功能模塊的實(shí)現(xiàn)女蜈,本節(jié)課今天就到這里,下節(jié)再見色瘩!感謝大家的關(guān)注伪窖!不要忘了贊賞啊>诱住8采健!
? ? ? 更多內(nèi)容關(guān)注微信公眾號(hào)mjw-java或訪問www.moliying.com