修改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>


你可能感兴趣的:(android,tabhost)