`
ugibb510
  • 浏览: 132000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android: 可以横向拖动的TabHost

 
阅读更多

 

 

转:http://www.eoeandroid.com/thread-113941-1-1.html

 

横向拖动的TabHost 效果图:

 

 

	<LinearLayout android:orientation="vertical"
		android:layout_width="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>
 

 

import android.app.TabActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.TabWidget;

public class MainActivity extends TabActivity {
	TabHost m_TabHost;
	Button upButton;
	Button nextButton;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// Init
		initView();
		initTabHost();

		// Get scream width
		DisplayMetrics dm = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(dm);
		int screenWidth = dm.widthPixels;
		Log.i("test", "screenWidth=" + screenWidth);
		
		// Get tab counts
		TabWidget tabWidget = m_TabHost.getTabWidget();
		int count = tabWidget.getChildCount();
		if (count > 3) {
			for (int i = 0; i < count; i++) {
				tabWidget.getChildTabViewAt(i).setMinimumWidth((screenWidth) / 3);
			}
		}
	}

	private void initView() {
		m_TabHost = getTabHost();
		// upButton = (Button) findViewById(R.id.up_button);
		// nextButton = (Button) findViewById(R.id.next_button);
	}

	private void initTabHost() {
		m_TabHost.addTab(m_TabHost.newTabSpec(0 + "").setIndicator("A  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(1 + "").setIndicator("B  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(2 + "").setIndicator("C  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(3 + "").setIndicator("D  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(4 + "").setIndicator("E  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(5 + "").setIndicator("F  eoe")
				.setContent(R.id.textview01));
		m_TabHost.addTab(m_TabHost.newTabSpec(6 + "").setIndicator("G  eoe")
				.setContent(R.id.textview01));
	}
}
  • 大小: 12.5 KB
分享到:
评论

相关推荐

    可以横向拖动的TabHost.zip

    "可以横向拖动的TabHost"是一个实现TabHost功能增强的设计,允许用户不仅可以通过点击,还可以通过横向滑动来切换标签。这种设计提高了用户体验,使得在多标签界面中导航更加直观和流畅。 在Android SDK中,TabHost...

    Android项目可以横向拖动的TabHost.rar

    在这个“Android项目可以横向拖动的TabHost.rar”中,开发者提供了一个创新的实现方式,使得TabHost的标签页可以横向滑动,为用户提供更流畅的操作体验。下面我们将深入探讨这个项目的相关知识点。 首先,我们要...

    Android应用源码可以横向拖动的TabHost-IT计算机-毕业设计.zip

    在"Android应用源码可以横向拖动的TabHost"这个项目中,我们可以深入学习如何实现一个支持横向滑动的TabHost,这对于构建用户友好的多视图应用程序至关重要。以下将详细讲解相关知识点。 1. TabHost基本概念:...

    Android-可以横向拖动的TabHost(源码).zip

    Android-可以横向拖动的TabHost(源码).zip

    基于Android的可以横向拖动的TabHost.zip

    "基于Android的可以横向拖动的TabHost.zip" 这个标题指出,这个项目或示例是关于在Android平台上实现一个能够横向滑动切换的TabHost组件。TabHost是Android SDK中一个用于展示多个Tab的组件,通常用于创建多页面的...

    可以横向拖动的tabHost

    这个“可以横向拖动的TabHost”项目为Android开发者提供了一种新的交互方式,提升了用户在多标签场景下的体验。通过理解其背后的实现原理,开发者可以在自己的应用中灵活地应用这种功能,为用户提供更加直观和便捷的...

    Android应用源码可以横向拖动的TabHost.zip

    【Android应用源码可以横向拖动的TabHost.zip】是一个包含Android应用开发源代码的压缩包,主要展示了如何在Android应用程序中实现一个可横向滑动的TabHost组件。TabHost是Android SDK提供的一种布局管理器,它允许...

    安卓Android源码——可以横向拖动的TabHost.zip

    本项目“安卓Android源码——可以横向拖动的TabHost”提供了一种创新的实现方式,允许用户通过水平滑动来切换Tab,为用户提供了更流畅的操作体验。 TabHost的常规使用是通过设置TabSpec,每个TabSpec代表一个Tab...

    安卓Android源码——可以横向拖动的TabHost.rar

    本资源"安卓Android源码——可以横向拖动的TabHost.rar"提供了一种实现方式,允许用户横向滑动来切换Tab,为用户提供了更直观、更丰富的交互体验。 在Android系统中,TabHost通常与TabWidget和FrameLayout一起使用...

    可以横向拖动的TabHost.rar

    【标题】: "可横向拖动的TabHost" 指的是在Android开发中实现的一种创新的用户界面设计。TabHost是Android SDK提供的一种组件,用于创建带有多个标签(tabs)的应用界面,用户可以通过点击标签在不同的内容之间切换...

    可横向拖动的TabHost

    本项目“可横向拖动的TabHost”则提供了一个创新的解决方案,让用户可以通过水平滑动来切换标签页,提高了用户体验。 首先,我们要理解`TabHost`的基本用法。`TabHost`是Android SDK中提供的一种布局容器,用于实现...

    应用源码可以横向拖动的TabHost.zip

    【标题】"应用源码可以横向拖动的TabHost.zip" 涉及到的是Android开发中的一个关键组件——TabHost,以及如何实现其横向滚动功能。TabHost是Android SDK中用于创建多标签界面的控件,它允许用户在不同的视图间切换,...

    可以横向拖动的TabHost_Android.rar

    本项目“可以横向拖动的TabHost_Android”显然着重于实现一种创新的用户体验,让用户可以通过水平滑动来切换不同的Tab。这个功能在很多现代应用中都很常见,例如社交媒体应用、新闻阅读器等,能够提供更加直观和流畅...

    可以横向拖动的TabHost

    可以横向拖动的TabHost

Global site tag (gtag.js) - Google Analytics