这一篇将讲述如何构建主页面,先看一下微信主页面的截图
从截图中可以看出,它的菜单是在程序的底部,当我们选择一个按钮后,它的颜色会发生变化,好像有灯在亮,这个实现起来比较简单,可以有多种方式供我们选择,TabActivity或者tabwidget+radiobutton或者activitygroup+radiobutton或者activitygroup+gridview或者activitygroup+grally等都可以,按钮的变化可以使用selector用两张图片来控制。
关于activitygroup,大家可以看一下这个图片:
先以tabwidget为例,代码如下:
从截图中可以看出,它的菜单是在程序的底部,当我们选择一个按钮后,它的颜色会发生变化,好像有灯在亮,这个实现起来比较简单,可以有多种方式供我们选择,TabActivity或者tabwidget+radiobutton或者activitygroup+radiobutton或者activitygroup+gridview或者activitygroup+grally等都可以,按钮的变化可以使用selector用两张图片来控制。
关于activitygroup,大家可以看一下这个图片:
- http://img.my.csdn.net/uploads/201211/03/1351952623_1266.jpg
https://img-my.csdn.net/uploads/201211/03/1351952623_1266.jpg
先以tabwidget为例,代码如下:
- 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);
- }
- }
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);
}
}