Fragment和FragmentTabHost的混合使用

Fragment 和 FragmentTabHost 都是Android.support.v4.app包下的类,所以我们再使用是首先要先导入正确的包,而在XML文件中我们需要如下使用:

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><LinearLayout xmlns:android=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://schemas.android.com/apk/res/android"</span>
    android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"match_parent"</span>
    android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"match_parent"</span>
    android:orientation=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"vertical"</span>>

    <FrameLayout
        android:id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@+id/realtabcontent"</span>
        android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"match_parent"</span>
        android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"0dp"</span>
        android:layout_weight=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1"</span>/>

    <android.support.v4.app.FragmentTabHost
        android:id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@android:id/tabhost"</span>
        android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"match_parent"</span>
        android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"wrap_content"</span>>
        <FrameLayout
            android:id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@android:id/tabcontent"</span>
            android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"0dp"</span>
            android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"0dp"</span>
            android:layout_weight=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1"</span>/>
    </android.support.v4.app.FragmentTabHost>

</LinearLayout></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li></ul>

我们定义垂直方向的LinearLayout布局,FrameLayout用来显示我们的只要内容,FragmentTabHost用来在底部显示菜单。

ok,布局文件已配置好了,下面可考虑怎么加载到Acitivity中,在这之前,我习惯先创建一个Application,里面封装一个全局的Context变量,如:

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">public <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">MyApplication</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Application</span>{
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">private</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Context</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mContext</span>;//全局获取<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>
    @<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Override</span>
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">void</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">super</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mContext</span> = <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getApplicationContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>;
    }
    /**
     * 获取全局<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>
     */
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Context</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>{
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mContext</span>;
    }
}</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li></ul>

还有先定义一个BaseActivity作为其他Activity的父类,并且把获取全部的资源方法封装进去。

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">public <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">BaseActivity</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Activity</span>{

    @<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Override</span>
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">protected</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">void</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Bundle savedInstanceState)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">super</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(savedInstanceState)</span>;
    }
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Context</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>{
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">SanHuiAppsAnimationApplication</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>;
    }
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getLayoutId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"layout"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStringId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"string"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getDrawableId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"drawable"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStyleId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"style"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"id"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getMenuId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"menu"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getColorId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Context context, String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">context</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"color"</span>, context.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getLayoutId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getLayoutId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStringId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStringId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getDrawableId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getDrawableId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStyleId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getStyleId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getMenuId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getMenuId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getColorId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getColorId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>, paramString)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getAnimId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"anim"</span>, getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getAttrId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"attr"</span>, getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getInterpolator</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String name)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(name, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"interpolator"</span>, getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">static</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">int</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getDimenId</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String paramString)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getContext</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getResources</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">()</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getIdentifier</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(paramString, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"dimen"</span>, getContext<span class="hljs-params" style="box-sizing: border-box;">()</span>.getPackageName<span class="hljs-params" style="box-sizing: border-box;">()</span>)</span>;
    }

}</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li><li style="box-sizing: border-box; padding: 0px 5px;">71</li><li style="box-sizing: border-box; padding: 0px 5px;">72</li><li style="box-sizing: border-box; padding: 0px 5px;">73</li><li style="box-sizing: border-box; padding: 0px 5px;">74</li><li style="box-sizing: border-box; padding: 0px 5px;">75</li><li style="box-sizing: border-box; padding: 0px 5px;">76</li><li style="box-sizing: border-box; padding: 0px 5px;">77</li><li style="box-sizing: border-box; padding: 0px 5px;">78</li><li style="box-sizing: border-box; padding: 0px 5px;">79</li><li style="box-sizing: border-box; padding: 0px 5px;">80</li><li style="box-sizing: border-box; padding: 0px 5px;">81</li><li style="box-sizing: border-box; padding: 0px 5px;">82</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li><li style="box-sizing: border-box; padding: 0px 5px;">71</li><li style="box-sizing: border-box; padding: 0px 5px;">72</li><li style="box-sizing: border-box; padding: 0px 5px;">73</li><li style="box-sizing: border-box; padding: 0px 5px;">74</li><li style="box-sizing: border-box; padding: 0px 5px;">75</li><li style="box-sizing: border-box; padding: 0px 5px;">76</li><li style="box-sizing: border-box; padding: 0px 5px;">77</li><li style="box-sizing: border-box; padding: 0px 5px;">78</li><li style="box-sizing: border-box; padding: 0px 5px;">79</li><li style="box-sizing: border-box; padding: 0px 5px;">80</li><li style="box-sizing: border-box; padding: 0px 5px;">81</li><li style="box-sizing: border-box; padding: 0px 5px;">82</li></ul>

好,准备工作已完成,,现在来看看怎么把我们的刚才的main.xml添加到MainActivity中,并实现底部菜单的切换。

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">public <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">MainActivity</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">FragmentActivity</span>{
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">private</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">FragmentTabHost</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mFragmentTabHost</span>;
    @<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Override</span>
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">protected</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">void</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(Bundle savedInstanceState)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">super</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onCreate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(savedInstanceState)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">setContentView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(BaseActivity.getLayoutId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"activity_main"</span>)</span>)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mFragmentTabHost</span> = <span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(FragmentTabHost)</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">findViewById</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(android.R.id.tabhost)</span>;
        //初始化<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">FragmentTabHost</span>
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mFragmentTabHost</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">setup</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(this,getSupportFragmentManager<span class="hljs-params" style="box-sizing: border-box;">()</span>,BaseActivity.getId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"realtabcontent"</span>)</span>)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTabView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Collection"</span>, BaseActivity.getDrawableId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"main_tab_item_collection"</span>)</span>, CollectionFragment.class)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTabView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Animation"</span>, BaseActivity.getDrawableId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"main_tab_item_animation"</span>)</span>, AnimationFragment.class)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTabView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Game"</span>, BaseActivity.getDrawableId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"main_tab_item_game"</span>)</span>, GameFragment.class)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTabView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Mine"</span>, BaseActivity.getDrawableId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"main_tab_item_mine"</span>)</span>, MineFragment.class)</span>;
    }

    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">void</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTabView</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(String viewTag, int iconId, Class<?> cls)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">View</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">viewTabWidget</span> = <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getTabWidget</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(iconId)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">TabHost</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">TabSpec</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">tabSpec</span> = <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mFragmentTabHost</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">newTabSpec</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(viewTag)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">tabSpec</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">setIndicator</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(viewTabWidget)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">mFragmentTabHost</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">addTab</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(tabSpec,cls,null)</span>;
    }
    <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">public</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">View</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">getTabWidget</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(int iconId)</span> {
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">View</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">viewTabWidget</span> = <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">LayoutInflater</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">from</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(this)</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">inflate</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(BaseActivity.getLayoutId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"activity_main_tabwidget"</span>)</span>, null)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">ImageView</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">view</span> = <span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(ImageView)</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">viewTabWidget</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">findViewById</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(BaseActivity.getId<span class="hljs-params" style="box-sizing: border-box;">(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"tab_label"</span>)</span>)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">view</span>.<span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">setImageResource</span><span class="hljs-params" style="color: rgb(102, 0, 102); box-sizing: border-box;">(iconId)</span>;
        <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">return</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">viewTabWidget</span>;
    }
}
</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li></ul>

其实很简单,首先,是通过获取资源文件并绑定FragmentTabHost,其中值得注意的是: 
mFragmentTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);这个是从android.R.id.tabhost获取,main.xml也是这么给出的id,不要搞混了。

然后,通过得到所支持的FragmentManager来初始化FragmentTabHost,并绑定用于显示正文的Fragment。

再次,我们通过addTabView()方法把底部菜单所需要的View展示出来,这里使用的是TabHost.TabSpec,它需要一个标示几个参数,一个是tag标示,一个是用于底部菜单显示的view等,可以自己选择设置。这里的菜单View我是用xml文件selector选择器来自动选择的,因为四个底部菜单所用一样,这里就只贴出一个供参考:

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><?xml version=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1.0"</span> encoding=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"utf-8"</span>?>
<selector xmlns:android=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://schemas.android.com/apk/res/android"</span>>
    <item android:drawable=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@mipmap/main_tab_collection"</span> android:state_selected=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"false"</span>/>
    <item android:drawable=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@mipmap/main_tab_collection_h"</span> android:state_selected=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"true"</span>/>
</selector></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

最后,我们通过mFragmentTabHost.addTab(tabSpec,cls,null);把底部菜单和与之相关联的Fragment关联起来,从而达到在我们点击底部菜单时显示与之相对应的正文内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值