天天看点

修改Tabhost样式和字体大小和居中显示

有时候我们的tabhost并不需要贴图,所以这个时候就必须把文字居中显示和设置大小了,代码如下

setContentView(R.layout.home_vzo_tabhost);

        tabHost = getTabHost();

        tabWidget = tabHost.getTabWidget();

        TabHost.TabSpec spec;

        Intent intent;

        //indicator指示器

        intent = new Intent(this,HomeVzoBasicInfoActivity.class);  //把值传给启动的界面

        //名字;要显示的字符;设置动画

        spec = tabHost.newTabSpec("a1").setIndicator(getResources().getString(R.string.baseInfo))

                .setContent(intent);//设置一个Acitivity

        tabHost.addTab(spec);

        intent = new Intent(this,HomeVzoContentActivity.class);

        spec = tabHost.newTabSpec("a2").setIndicator(getResources().getString(R.string.myPull))

                .setContent(intent);

        tabHost.setOnTabChangedListener(this);

        tabHost.addTab(spec);

        for (int i =0; i < tabWidget.getChildCount(); i++) {  

            //修改Tabhost高度和宽度

//            tabWidget.getChildAt(i).getLayoutParams().height = 30;  

//            tabWidget.getChildAt(i).getLayoutParams().width = 65;

            //修改显示字体大小

            TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);

            tv.setTextSize(18);

            RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tv.getLayoutParams();

            params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0); //取消文字底边对齐

            params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); //设置文字居中对齐

        }

        tabHost.setCurrentTab(0);

配置文件

<?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:orientation="vertical" >

        <LinearLayout

        style="@style/vzo_ll">

    <ImageView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/ic_launcher"

        android:layout_marginTop="20dip"

        android:layout_marginBottom="15dip"

        android:layout_marginLeft="15dip"/>

        <FrameLayout

            android:orientation="horizontal"

            android:layout_width="0dp"

            android:layout_height="match_parent"

            android:layout_marginLeft="10dp"

            android:background="@drawable/item_bg_whilt"

            android:layout_marginTop="20dip"

            android:layout_marginBottom="15dip"

            android:layout_marginRight="10dip"

            android:layout_weight="1">

            <TextView

                 android:layout_width="wrap_content"

                 android:layout_height="wrap_content"

                 android:text="@string/neckName"

                 android:gravity="center"

                 android:layout_marginLeft="5dip"

                 android:layout_marginRight="5dip"

                 android:drawableRight="@drawable/tab_sms_selected"

                 android:layout_gravity="left|center_vertical"/>

            <TextView

                 android:id="@+id/neckName"

                 android:layout_width="match_parent"

                 android:layout_height="wrap_content"

                 android:text="@string/neckName"

                 android:gravity="center"

                 android:textColor="#558800"

                 android:layout_marginLeft="5dip"

                 android:layout_gravity="center"

                 android:textAppearance="?android:attr/textAppearanceLarge"/>

        </FrameLayout>

    </LinearLayout>

    <TabHost

        android:id="@android:id/tabhost"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent" >

        <LinearLayout

            android:layout_width="fill_parent"

            android:layout_height="fill_parent"

            android:orientation="vertical" >

            <TabWidget

                android:id="@android:id/tabs"

                android:layout_width="fill_parent"

                android:layout_height="wrap_content"

                android:tabStripEnabled="false"

                android:animateLayoutChanges="true">

            </TabWidget>

            <FrameLayout

                android:id="@android:id/tabcontent"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:padding="5dp" >

            </FrameLayout>

        </LinearLayout>

    </TabHost>

</LinearLayout>