如何更改标签的大小

时间:2011-06-23 12:22:54

标签: android

实际上我已经在我的应用程序中创建了一个选项卡。这里有三个选项卡..但事实是我无法在标签中管理样式更多我希望一个标签的大小比其他两个标签大我发送给我的代码请检查它..

XML CODE:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:orientation="horizontal"
>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">
    <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"
        android:padding="5dp" 
        />

</LinearLayout>

Java代码:

setContentView(R.layout.main);
    Resources res = getResources(); 
    TabHost tabHost = getTabHost();  
    TabHost.TabSpec spec; 
    Intent intent;  

    // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, ContactActivity.class);

    spec = tabHost.newTabSpec("Contacts").setIndicator("Contacts",
                      res.getDrawable(R.drawable.ic_tab_artists))
                  .setContent(intent);
    tabHost.addTab(spec);


    // Do the same for the other tabs
    intent = new Intent().setClass(this, CallActivity.class);
    spec = tabHost.newTabSpec("Call").setIndicator("Call",
                      res.getDrawable(R.drawable.ic_tab_artists))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, MyInfoActivity.class);
    spec = tabHost.newTabSpec("My Info").setIndicator("MyInfo",
                      res.getDrawable(R.drawable.ic_tab_artists))
                  .setContent(intent);
    tabHost.addTab(spec);

   tabHost.setCurrentTab(2);

1 个答案:

答案 0 :(得分:13)

这里是更改标签大小的代码

 Display display = getWindowManager().getDefaultDisplay();
        int width = display.getWidth();

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

       TabHost mTabHost = getTabHost();

       mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
               .setIndicator((""),getResources().getDrawable(R.drawable.mzl_05))
         .setContent(new Intent(this, NearBy.class)));
       mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
               .setIndicator((""),getResources().getDrawable(R.drawable.mzl_08))
         .setContent(new Intent(this, SearchBy.class)));
               mTabHost.setCurrentTab(0);
               mTabHost.getTabWidget().getChildAt(0).setLayoutParams(new
                 LinearLayout.LayoutParams((width/2)-2,50));
          mTabHost.getTabWidget().getChildAt(1).setLayoutParams(new
                     LinearLayout.LayoutParams((width/2)-2,50));

我希望对你有所帮助。