安卓标签小部件

标签 android tabwidget

我需要在我的应用程序中创建选项卡我已经使用了以下工作正常......但我需要它显示为选项卡查看 iphone 如何使用 android 1.6?提前致谢..

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout
    android:id="@+id/tab"    android:orientation="vertical"        android:layout_width="fill_parent"   android:layout_height="fill_parent">
    <TabWidget
        android:id="@android:id/tabs"    android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <FrameLayout
        android:id="@android:id/tabcontent"            android:layout_width="fill_parent"     android:layout_height="fill_parent">

        <LinearLayout android:id="@+id/tab1" android:layout_width="fill_parent"
         android:layout_height="fill_parent" android:orientation="vertical"/>

        <LinearLayout android:id="@+id/tab2" android:layout_width="fill_parent"
         android:layout_height="fill_parent" android:orientation="vertical"/>

here is my tab looks like..
但是,我需要删除它们之间的空格我希望它看起来像this

查询 2 如果我使用 Intent 在两个 Activity 之间切换..第二个 Activity 需要 oncreate 方法,它是强制性的吗?

最佳答案

tab.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="@drawable/tab_background_selector" android:gravity="center"
android:orientation="vertical" android:padding="5dp">
<ImageView android:id="@+id/tab_icon" android:layout_width="30dp"
    android:layout_height="30dp" android:scaleType="fitCenter" />
<TextView android:id="@+id/tab_text" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:singleLine="true"
    android:textStyle="bold" android:gravity="center_horizontal"
    android:textSize="10sp" android:padding="3dip" android:ellipsize="marquee"
    android:textColor="@drawable/tab_text_selector" />

ma​​in.xml

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_alignParentBottom="true">
    <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout android:orientation="vertical"
            android:layout_width="fill_parent" android:layout_height="fill_parent">
            <HorizontalScrollView android:scrollbars="none"
                android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TabWidget android:id="@android:id/tabs" 
                android:layout_alignParentBottom="true"
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />
            </HorizontalScrollView>
            <FrameLayout android:id="@android:id/tabcontent"
                android:layout_width="fill_parent" android:layout_height="fill_parent"
                android:padding="5dp" />
        </LinearLayout>
    </TabHost>
</LinearLayout> 

TestActivity.java

setContentView(R.layout.maiin);  
         final TabHost tabHost = (TabHost) getTabHost();
            tabHost.addTab(createTab(MobiintheMorningActivity.class, 
                    "Welcome", "Welcome", R.drawable.icon));
            tabHost.addTab(createTab(SongList.class, 
                    ".Mp3List", ".Mp3List", R.drawable.icon));
            tabHost.addTab(createTab(AboutUs.class, 
                    "AboutUs", "AboutUs", R.drawable.icon));
            tabHost.addTab(createTab(ExtraInfromation.class, 
                    "Extra", "Extra", R.drawable.icon));


            tabHost.setCurrentTab(0);
            tabHost.getTabWidget().getChildAt(0).getLayoutParams().width = 85;
            tabHost.getTabWidget().getChildAt(1).getLayoutParams().width = 85;
            tabHost.getTabWidget().getChildAt(2).getLayoutParams().width = 85;
            tabHost.getTabWidget().getChildAt(3).getLayoutParams().width = 85;        
        }
        private TabSpec createTab(final Class<?> intentClass, final String tag, 
                final String title, final int drawable)
        {
            final Intent intent = new Intent().setClass(this, intentClass);

            final View tab = LayoutInflater.from(getTabHost().getContext()).
                inflate(R.layout.tab, null);
            ((TextView)tab.findViewById(R.id.tab_text)).setText(title);
            ((ImageView)tab.findViewById(R.id.tab_icon)).setImageResource(drawable);

            return getTabHost().newTabSpec(tag).setIndicator(tab).setContent(intent);
        }
    }

这是完整的工作代码:Pragna

关于安卓标签小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6274597/

相关文章:

android - Windows 管理器,单击自定义 Spinner 时出现错误 token 异常

Android:如何在 TabWidget 上删除选定的选项卡突出显示颜色和按下时突出显示

android - 如何在android中制作椭圆形tabhost

Android TabContent 更改

android 在 Activity 内更改 TabWidget 外部的 textview

android - 如何判断 AsyncTaskLoader 是否正在运行

android - 删除行时如何在 ListView 周围调整边框?

Android:如何将单选按钮设置为 'grey out'

android - 如何在具有不同输入的 TabActivity 中对 3 个不同的选项卡使用相同的 Activity

java.lang.ClassCastException : android. 部件.ExpandableListView$ExpandableListContextMenuInfo