美文网首页
Android项目开发第五炮(磨砺营马剑威)

Android项目开发第五炮(磨砺营马剑威)

作者: 磨砺营IT | 来源:发表于2016-08-15 09:15 被阅读59次

         【威哥说】我们每个人的感情有着极大的鼓舞力量,它是一切道德行为的重要前提,谁要是没有强烈的志向,也就不能够热烈地把这个志向体现于事业中。作为程序员,写出好的代码就是我们的事业。

          【正文】

           又到了Android项目实战真枪实弹,今天是第五炮。给大家讲解下首页的实现,首页是用Android非常经典的一个组件GridView来实现,这里使用simpleAdapter来实现数据的显示。

    首先我们来布局,非常简单,一个标题和一个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="磨砺营教育记录软件"

    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的实现:

    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);

    //加载数据

    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[]{"记账","查询","读书会","存款","消费详情","个人信息"};

    //准备适配器需要添加的数据

    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);

    }

    //实例化一个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://添加数据

    startActivity(new Intent(this,AccountActivity.class));

    break;

    case QUERYSTATUS://查询数据

    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();

    }

    }

           这里我只实现了两个模块的功能,更多的大家可以按照实例自己去实现,另外,由于是项目的主页,也就是home页面,所以,这里重写了onBackPressed方法,实现点击两次back按键返回的效果。

          本节内容比较简单,但是也有很多地方要尝试,尤其是simpleAdapter的使用,实际的练习下体会会更深刻。Ok,首页咱们也完成了,下节课最后一节,咱们讲解功能模块的实现,本节课今天就到这里,下节再见!感谢大家的关注!不要忘了赞赏啊!!!

          更多内容关注微信公众号mjw-java或访问www.moliying.com

    相关文章

      网友评论

          本文标题:Android项目开发第五炮(磨砺营马剑威)

          本文链接:https://www.haomeiwen.com/subject/ukkusttx.html