通过安卓API的Tabs3实现仿优酷tabhost效果

来源:互联网 发布:tp框架非法数据对象 编辑:程序博客网 时间:2024/05/20 10:55

课程还没有讲了多少,前两天老师就让自己写个视频播放器客户端,这个是他上课讲的一个小小demo,通过查看安卓API的tabs3,实现仿优酷视频客户端的tabhost效果。我的API路径是D:\android\sdk\samples\android-17\ApiDemos\src\com\example\android\apis\view下的Tabs3,下面是实现效果:


废话不多说了,直接上码:

MainActivity.java

[java] view plaincopy
  1. package com.example.video;  
  2.   
  3. import android.os.Bundle;  
  4. import android.R.layout;  
  5. import android.app.Activity;  
  6. import android.app.TabActivity;  
  7. import android.content.Intent;  
  8. import android.view.LayoutInflater;  
  9. import android.view.Menu;  
  10. import android.widget.TabHost;  
  11.   
  12. public class MainActivity extends TabActivity {  
  13.       
  14.     public TabHost tabHost;  
  15.       
  16.     @Override  
  17.     protected void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         //获取对象  
  20.         tabHost = getTabHost();  
  21.           
  22.         tabHost.addTab(tabHost.newTabSpec("myself")  
  23.                 .setIndicator("个人中心")  
  24.                 .setContent(new Intent(this, MySelfActivity.class)));  
  25.         tabHost.addTab(tabHost.newTabSpec("myindex")  
  26.                 .setIndicator("优酷首页")  
  27.                 .setContent(new Intent(this, MyIndexActivity.class)));  
  28.         tabHost.addTab(tabHost.newTabSpec("mycenter")  
  29.                 .setIndicator("频道中心")  
  30.                 .setContent(new Intent(this, MyCenterActivity.class)));  
  31.           
  32.         
  33.         //指定的当前的tab  
  34.         //通过索引指定  索引从0开始  
  35.         tabHost.setCurrentTab(0); //从零开始  
  36.           
  37.         //通过标识来激活  
  38.       //  tabHost.setCurrentTabByTag("XXX1");  
  39.           
  40.     }  
  41.   
  42.     @Override  
  43.     public boolean onCreateOptionsMenu(Menu menu) {  
  44.         // Inflate the menu; this adds items to the action bar if it is present.  
  45.         getMenuInflater().inflate(R.menu.main, menu);  
  46.         return true;  
  47.     }  
  48.   
  49. }  

MyCenterActivity.java

[java] view plaincopy
  1. package com.example.video;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class MyCenterActivity  extends Activity{  
  7.       
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.           
  12.         setContentView(R.layout.activity_mycenter);  
  13.     }  
  14.   
  15. }  

MyIndexActivity.java

[java] view plaincopy
  1. package com.example.video;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class MyIndexActivity  extends Activity{  
  7.       
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.           
  12.         setContentView(R.layout.activity_myindex);  
  13.     }  
  14.   
  15. }  

MySelfActivity.java

[java] view plaincopy
  1. package com.example.video;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class MySelfActivity  extends Activity{  
  7.       
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.           
  12.         setContentView(R.layout.activity_myself);  
  13.     }  
  14.   
  15. }  

下面是布局文件:

activity_mycenter.xml

[html] view plaincopy
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity" >  
  10.   
  11.     <TextView  
  12.         android:layout_width="wrap_content"  
  13.         android:layout_height="wrap_content"  
  14.         android:text="优酷中心" />  
  15.   
  16. </RelativeLayout>  

activity_myindex.xml

[html] view plaincopy
  1. <TextView  
  2.     android:layout_width="wrap_content"  
  3.     android:layout_height="wrap_content"  
  4.     android:text="优酷首页" />  

activity_myself.xml

[html] view plaincopy
  1. <TextView  
  2.         android:layout_width="wrap_content"  
  3.         android:layout_height="wrap_content"  
  4.         android:text="个人首页" />  
当然别忘了在清单文件中配置activity

[html] view plaincopy
  1. <!-- 配置activity组件 -->  
  2.         <activity android:name="com.example.video.MyIndexActivity"/>  
  3.         <activity android:name="com.example.video.MySelfActivity"/>  
  4.         <activity android:name="com.example.video.MyCenterActivity"/>  
0 0
原创粉丝点击