横向拖动的TabHost 效果图:

Xml代码

  1. <LinearLayout android:orientation="vertical"
  2. android:layout_;fill_parent" android:layout_height="fill_parent">
  3. <RelativeLayout android:layout_;fill_parent"
  4. android:layout_height="wrap_content">
  5. <HorizontalScrollView android:layout_;fill_parent"
  6. android:layout_height="wrap_content"
  7. android:fillViewport="true"
  8. android:scrollbars="none"
  9. android:layout_toLeftOf="@+id/next_button"
  10. android:layout_toRightOf="@+id/up_button">
  11. <TabWidget android:id="@android:id/tabs"
  12. android:layout_;fill_parent"
  13. android:layout_height="wrap_content" />
  14. </HorizontalScrollView>
  15. </RelativeLayout>
  16. <FrameLayout android:id="@android:id/tabcontent"
  17. android:layout_;fill_parent" android:layout_height="fill_parent">
  18. <TextView android:id="@+id/textview01" android:layout_;fill_parent"
  19. android:layout_height="wrap_content" android:text="@string/hello" />
  20. <TextView android:id="@+id/textview02" android:layout_;fill_parent"
  21. android:layout_height="wrap_content" android:text="@string/hello" />
  22. <TextView android:id="@+id/textview03" android:layout_;fill_parent"
  23. android:layout_height="wrap_content" android:text="@string/hello" />
  24. <TextView android:id="@+id/textview04" android:layout_;fill_parent"
  25. android:layout_height="wrap_content" android:text="@string/hello" />
  26. <TextView android:id="@+id/textview05" android:layout_;fill_parent"
  27. android:layout_height="wrap_content" android:text="@string/hello" />
  28. </FrameLayout>
  29. </LinearLayout>

<LinearLayout android:orientation="vertical" android:layout_;fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <HorizontalScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true" android:scrollbars="none" android:layout_toLeftOf="@+id/next_button" android:layout_toRightOf="@+id/up_button"> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </HorizontalScrollView> </RelativeLayout> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textview01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/textview02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/textview03" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/textview04" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/textview05" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </FrameLayout> </LinearLayout>

Java代码

  1. import android.app.TabActivity;
  2. import android.os.Bundle;
  3. import android.util.DisplayMetrics;
  4. import android.util.Log;
  5. import android.widget.Button;
  6. import android.widget.TabHost;
  7. import android.widget.TabWidget;
  8. public class MainActivity extends TabActivity {
  9. TabHost m_TabHost;
  10. Button upButton;
  11. Button nextButton;
  12. @Override
  13. public void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.main);
  16. // Init
  17. initView();
  18. initTabHost();
  19. // Get scream width
  20. DisplayMetrics dm = new DisplayMetrics();
  21. getWindowManager().getDefaultDisplay().getMetrics(dm);
  22. int screenWidth = dm.widthPixels;
  23. Log.i("test", "screen; + screenWidth);
  24. // Get tab counts
  25. TabWidget tabWidget = m_TabHost.getTabWidget();
  26. int count = tabWidget.getChildCount();
  27. if (count &gt; 3) {
  28. for (int i = 0; i &lt; count; i++) {
  29. tabWidget.getChildTabViewAt(i).setMinimumWidth((screenWidth) / 3);
  30. }
  31. }
  32. }
  33. private void initView() {
  34. m_TabHost = getTabHost();
  35. // upButton = (Button) findViewById(R.id.up_button);
  36. // nextButton = (Button) findViewById(R.id.next_button);
  37. }
  38. private void initTabHost() {
  39. m_TabHost.addTab(m_TabHost.newTabSpec(0 + "").setIndicator("A eoe")
  40. .setContent(R.id.textview01));
  41. m_TabHost.addTab(m_TabHost.newTabSpec(1 + "").setIndicator("B eoe")
  42. .setContent(R.id.textview01));
  43. m_TabHost.addTab(m_TabHost.newTabSpec(2 + "").setIndicator("C eoe")
  44. .setContent(R.id.textview01));
  45. m_TabHost.addTab(m_TabHost.newTabSpec(3 + "").setIndicator("D eoe")
  46. .setContent(R.id.textview01));
  47. m_TabHost.addTab(m_TabHost.newTabSpec(4 + "").setIndicator("E eoe")
  48. .setContent(R.id.textview01));
  49. m_TabHost.addTab(m_TabHost.newTabSpec(5 + "").setIndicator("F eoe")
  50. .setContent(R.id.textview01));
  51. m_TabHost.addTab(m_TabHost.newTabSpec(6 + "").setIndicator("G eoe")
  52. .setContent(R.id.textview01));
  53. }
  54. }

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android studio调试c/c++代码
  4. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  5. 锁屏界面
  6. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  7. Android(安卓)version and Linux Kernel version
  8. Android(安卓)闹钟管理类的使用
  9. Android学习篇之Menu的使用

随机推荐

  1. android项目高级UI学习
  2. Android build.prop配置 定义一些宏定义
  3. 安装本机 sdcard
  4. Android 控件背景图片和imagebutton的使
  5. android极简原创系列:tabhost最简单配置
  6. myeclipse8.5+win7 配置android 开发环境
  7. Android Studio介绍
  8. Android沉浸式状态栏以及浅色模式开发
  9. Failed to install ***.apk on device 解
  10. Android 圆角外边框