查看: 433|回复: 0

[手机开发] Android开发之选项卡功能的实现方法示例

发表于 2017-12-2 09:20:47

本文实例讲述了Android选项卡功能的实现方法。分享给大家供大家参考,具体如下:

选项卡(TabHost)方便的在窗口上设置多个标签页,每个标签页相当于获得一个与外部容器相同大小的组件摆放区域

通过这种方式,可以在一个容器中放置多组件。

创建4个java文件并对应layout

创建主java ,代码

  1. package lianxi;
  2. import com.example.jichu_lianxi.R;
  3. import android.app.TabActivity;
  4. import android.content.Intent;
  5. import android.content.res.Resources;
  6. import android.os.Bundle;
  7. import android.widget.TabHost;
  8. public class TobHost_lianxi extends TabActivity{
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. // TODO Auto-generated method stub
  12. super.onCreate(savedInstanceState);
  13. //获取当前Activity的标签,该方法的实现已经执行了setContentView(com.android.internal.R.layout.tab_content);
  14. Resources resources = getResources();
  15. TabHost tabHost = getTabHost();
  16. TabHost.TabSpec spec;
  17. /*
  18. * 对方法的解释:
  19. * 1. newTabSpec("artist")创建一个标签项,其中artist为它的标签标识符
  20. * 2. setIndicator("标签1", resources.getDrawable(R.drawable.bulb_off))
  21. * 显示文本以及标签上的图标(该图标不是一个图片,而是一个xml文件)
  22. */
  23. //添加第一个标签
  24. Intent intent = new Intent(TobHost_lianxi.this,KeyOnclick.class);
  25. spec = tabHost.newTabSpec("keyonclick").setIndicator("标签1", resources.getDrawable(R.drawable.bulb_off)).setContent(intent);
  26. tabHost.addTab(spec);//将标签添加到标签项中
  27. //添加第二个标签
  28. Intent intent2 = new Intent(TobHost_lianxi.this,List_lianxi.class);
  29. spec = tabHost.newTabSpec("list").setIndicator("标签2",resources.getDrawable(R.drawable.bulb_off)).setContent(intent2);
  30. tabHost.addTab(spec);
  31. //添加第三个标签
  32. Intent intent3 = new Intent(TobHost_lianxi.this,ToggleButton_lianxi.class);
  33. spec = tabHost.newTabSpec("togglebutton").setIndicator("标签3",resources.getDrawable(R.drawable.bulb_off)).setContent(intent3);
  34. tabHost.addTab(spec);
  35. //添加第四个标签
  36. Intent intent4 = new Intent(TobHost_lianxi.this,ToggleButton_lianxi.class);
  37. spec = tabHost.newTabSpec("toggle").setIndicator("标签4",resources.getDrawable(R.drawable.bulb_off)).setContent(intent4);
  38. tabHost.addTab(spec);
  39. //设置第一次打开的默认显示的标签,参数与 .newTabSpec的参数匹配
  40. //tabHost.setCurrentTabByTag("toggle");
  41. //设置第一次打开的默认显示的标签,参数代表其添加到标签中的顺序,位置从0开始
  42. tabHost.setCurrentTab(1);
  43. }
  44. }
复制代码

其中 KeyOnclick.java、List_lianxi.java、ToggleButton_lianxi.java 代码不贴了

不要忘了在AndroidManifest.xml文件中修改代码

  1. <application
  2. android:allowBackup="true"
  3. android:icon="@drawable/ic_launcher"
  4. android:label="@string/app_name"
  5. android:theme="@style/AppTheme" >
  6. <activity android:name="lianxi.Mainactivity">
  7. <intent-filter
  8. >
  9. <action android:name="android.intent.action.MAIN"/>
  10. <category android:name="android.intent.category.LAUNCHER" />
  11. </intent-filter>
  12. </activity>
  13. <activity android:name="lianxi.NewActivity"></activity>
  14. <activity android:name="lianxi.AlertDialog_lianxi"></activity>
  15. <activity android:name="lianxi.Notification_lianxi"></activity>
  16. <activity android:name="lianxi.KeyOnclick"></activity>
  17. <activity android:name="lianxi.List_lianxi"></activity>
  18. <activity android:name="lianxi.ToggleButton_lianxi"></activity>
  19. <activity android:name="lianxi.TobHost_lianxi"></activity>
  20. </application>
复制代码

效果图(第一张为标签2。因为tabHost.setCurrentTab(1); 设置第2个添加的标签项为默认显示,从0开始算)

更多关于Android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

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



回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条