Android基于API的Tabs3实现仿优酷tabhost效果实例

前端技术 2023/09/07 Android

本文实例讲述了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

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

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

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

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

<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

<TextView
  android:layout_width=\"wrap_content\"
  android:layout_height=\"wrap_content\"
  android:text=\"优酷首页\" />

activity_myself.xml

<TextView
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\"
    android:text=\"个人首页\" />

当然别忘了在清单文件中配置activity

<!-- 配置activity组件 -->
<activity android:name=\"com.example.video.MyIndexActivity\"/>
<activity android:name=\"com.example.video.MySelfActivity\"/>
<activity android:name=\"com.example.video.MyCenterActivity\"/>

希望本文所述对大家Android程序设计有所帮助。

本文地址:https://www.stayed.cn/item/18104

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。