1. (1)主页面的设计采用选项卡组件,在res的drawable-hdpi目录下拷入需要的图片素材,在res/layout目录中新建activity_main.xml布局。布局文件中的内容比较简单,主要是拖了一个TabHost控件到界面上。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><TabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> </span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><pre class="html" name="code"> <TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TabWidget></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"> <FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</FrameLayout>
</span>
2. (1)然后在res的values目录的strings.xml文件中定义所需要的字符串插入即可
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"> <string name="title_study">学习</string>
<string name="title_search">搜搜</string>
<string name="title_game">游戏</string>
<string name="title_save">收藏</string>
<string name="title_help">帮助</string></strong></span><span style="font-family:KaiTi_GB2312;font-size:18px;"> </span></span>
(2)编写活动:在activity包下创建MainActivity继承自Activity。在这个类的onCreate()方法里,通过调用getTabHost()方法来获取整个TabHost组件,然后调用了抽取出来的自定义的方法addTab()添加了5个选项卡。方法的4个参数分别为每个选项卡的Tag,指示器上显示标题,显示图片,选项卡对应的内容。
需要注意的是,取消标题栏的方法,一定要位于setContentView()方法之前。如下
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"> requestWindowFeature(Window.FEATURE_NO_TITLE);//取消标题栏
setContentView(R.layout.activity_main);</span></span>
(3)在运行之前要先修改配置文件AndroidMainfest.xml中的代码,主要是注册了MainActivity,通过加入<intent-filter>将其设置为首先启动类。在编写过程中,要读懂他的含义,<intent-filter>为首先启动类,如果设置错,则会找不到启动类。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"> <activity
android:name="cn.edu.bztc.happyidiom.activity.MainActivity"
android:label="@string/title_activity_main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity></span></span>
3.(1)其实在Android4.2上的,只有文字标题显示,图标是不显示的。可以通过修改主题来实现,插入第三行代码即可。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><activity
android:name="cn.edu.bztc.happyidiom.activity.MainActivity"
android:label="@string/title_activity_main"
android:theme="@android:style/Theme.NoTitleBar"></span></span>
(2)如果想让指示器显示在底部,在activity_main.xml中FrameLayout添加
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;">android:layout_weight="1"</span><pre class="html" name="code"><span style="font-family:KaiTi_GB2312;font-size:18px;"><TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TabWidget> //置底</span></span>