本文实例讲述了android基于api的tabs3实现仿优酷tabhost效果。分享给大家供大家参考,具体如下:
前两天老师就让自己写个视频播放器客户端,这个是他上课讲的一个小小demo,通过查看安卓api的tabs3,实现仿优酷视频客户端的tabhost效果。我的api路径是d:\android\sdk\samples\android-17\apidemos\src\com\example\android\apis\view下的tabs3,下面是实现效果:
废话不多说了,直接上码:
mainactivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package com.example.video; import android.os.bundle; import android.r.layout; import android.app.activity; import android.app.tabactivity; import android.content.intent; import android.view.layoutinflater; import android.view.menu; import android.widget.tabhost; public class mainactivity extends tabactivity { public tabhost tabhost; @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); //获取对象 tabhost = gettabhost(); tabhost.addtab(tabhost.newtabspec( "myself" ) .setindicator( "个人中心" ) .setcontent( new intent( this , myselfactivity. class ))); tabhost.addtab(tabhost.newtabspec( "myindex" ) .setindicator( "优酷首页" ) .setcontent( new intent( this , myindexactivity. class ))); tabhost.addtab(tabhost.newtabspec( "mycenter" ) .setindicator( "频道中心" ) .setcontent( new intent( this , mycenteractivity. class ))); //指定的当前的tab //通过索引指定 索引从0开始 tabhost.setcurrenttab( 0 ); //从零开始 //通过标识来激活 // tabhost.setcurrenttabbytag("xxx1"); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true ; } } |
mycenteractivity.java
1
2
3
4
5
6
7
8
9
10
|
package com.example.video; import android.app.activity; import android.os.bundle; public class mycenteractivity extends activity{ @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_mycenter); } } |
myindexactivity.java
1
2
3
4
5
6
7
8
9
10
|
package com.example.video; import android.app.activity; import android.os.bundle; public class myindexactivity extends activity{ @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_myindex); } } |
myselfactivity.java
1
2
3
4
5
6
7
8
9
10
|
package com.example.video; import android.app.activity; import android.os.bundle; public class myselfactivity extends activity{ @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_myself); } } |
下面是布局文件:
activity_mycenter.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<relativelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http://schemas.android.com/tools" android:layout_width= "match_parent" android:layout_height= "match_parent" android:paddingbottom= "@dimen/activity_vertical_margin" android:paddingleft= "@dimen/activity_horizontal_margin" android:paddingright= "@dimen/activity_horizontal_margin" android:paddingtop= "@dimen/activity_vertical_margin" tools:context= ".mainactivity" > <textview android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "优酷中心" /> </relativelayout> |
activity_myindex.xml
1
2
3
4
|
<textview android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "优酷首页" /> |
activity_myself.xml
1
2
3
4
|
<textview android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "个人首页" /> |
当然别忘了在清单文件中配置activity
1
2
3
4
|
<!-- 配置activity组件 --> <activity android:name= "com.example.video.myindexactivity" /> <activity android:name= "com.example.video.myselfactivity" /> <activity android:name= "com.example.video.mycenteractivity" /> |
希望本文所述对大家android程序设计有所帮助。