Android 仿微信之二--主页面实现篇

这一篇将讲述如何构建主页面,先看一下微信主页面的截图


从截图中可以看出,它的菜单是在程序的底部,当我们选择一个按钮后,它的颜色会发生变化,好像有灯在亮,这个实现起来比较简单,可以有多种方式供我们选择,TabActivity或者tabwidget+radiobutton或者activitygroup+radiobutton或者activitygroup+gridview或者activitygroup+grally等都可以,按钮的变化可以使用selector用两张图片来控制。

关于activitygroup,大家可以看一下这个图片:

Java代码 复制代码 收藏代码
  1. http://img.my.csdn.net/uploads/201211/03/1351952623_1266.jpg
https://img-my.csdn.net/uploads/201211/03/1351952623_1266.jpg


先以tabwidget为例,代码如下:

Java代码 复制代码 收藏代码
  1. import android.app.TabActivity;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.Window;
  6. import android.widget.RadioGroup;
  7. import android.widget.RadioGroup.OnCheckedChangeListener;
  8. import android.widget.TabHost;
  9. import android.widget.TextView;
  10. public class MainActivity extends TabActivity {
  11. /** Called when the activity is first created. */
  12. private TabHost tabHost;
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  17. setContentView(R.layout.main);
  18. tabHost=this.getTabHost();
  19. TabHost.TabSpec spec;
  20. Intent intent;
  21. intent=new Intent().setClass(this, AddExamActivity.class);
  22. spec=tabHost.newTabSpec("微信").setIndicator("微信").setContent(intent);
  23. tabHost.addTab(spec);
  24. intent=new Intent().setClass(this,MyExamActivity.class);
  25. spec=tabHost.newTabSpec("通讯录").setIndicator("通讯录").setContent(intent);
  26. tabHost.addTab(spec);
  27. intent=new Intent().setClass(this, MyMessageActivity.class);
  28. spec=tabHost.newTabSpec("朋友们").setIndicator("朋友们").setContent(intent);
  29. tabHost.addTab(spec);
  30. intent=new Intent().setClass(this, Activity.class);
  31. spec=tabHost.newTabSpec("设置").setIndicator("设置").setContent(intent);
  32. tabHost.addTab(spec);
  33. intent=new Intent().setClass(this, SettingActivity.class);
  34. spec=tabHost.newTabSpec("设置").setIndicator("设置").setContent(intent);
  35. tabHost.addTab(spec);
  36. tabHost.setCurrentTab(1);
  37. }
  38. }
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TabHost;
import android.widget.TextView;

public class MainActivity extends TabActivity {
    /** Called when the activity is first created. */
	private TabHost tabHost;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
             
        tabHost=this.getTabHost();
        TabHost.TabSpec spec;
        Intent intent;

        intent=new Intent().setClass(this, AddExamActivity.class);
        spec=tabHost.newTabSpec("微信").setIndicator("微信").setContent(intent);
        tabHost.addTab(spec);
        
        intent=new Intent().setClass(this,MyExamActivity.class);
        spec=tabHost.newTabSpec("通讯录").setIndicator("通讯录").setContent(intent);
        tabHost.addTab(spec);
        
        intent=new Intent().setClass(this, MyMessageActivity.class);
        spec=tabHost.newTabSpec("朋友们").setIndicator("朋友们").setContent(intent);
        tabHost.addTab(spec);
        
        intent=new Intent().setClass(this, Activity.class);
        spec=tabHost.newTabSpec("设置").setIndicator("设置").setContent(intent);
        tabHost.addTab(spec);

        intent=new Intent().setClass(this, SettingActivity.class);
        spec=tabHost.newTabSpec("设置").setIndicator("设置").setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(1);       
    }  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值