2010-11-19 88 views

回答

5

創建tabindicator.xml如下。

然後將以下代碼插入到TabActivity類中。 ...

View indicator1 = getLayoutInflater().inflate(R.layout.tabindicator, 
    null); 
    im1 = (ImageView) indicator1.findViewById(R.id.icon); 
    im1.setBackgroundDrawable(getResources().getDrawable(
    R.drawable.home)); 

    View indicator2 = getLayoutInflater().inflate(R.layout.tabindicator, 
    null); 
    im2 = (ImageView) indicator2.findViewById(R.id.icon); 
    im2.setBackgroundDrawable(getResources().getDrawable(
    R.drawable.account)); 

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(
    indicator1).setContent(new Intent(this, Home.class))); 

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(
    indicator2) 
    .setContent(new Intent(this, Accounts.class))) 

在這裏,你可以根據自己的需求改變tabindicator.xml。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <ImageView android:id="@+id/icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true"/> 
</RelativeLayout> 
1

這是tabindicator.xml。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent"> 

<ImageView android:id="@+id/icon" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true" /> 

<RelativeLayout/> 
11

這是一個更簡單的方法來刪除灰線。將其添加到佈局中的TabWidget中:

android:tabStripEnabled="false" 
+0

簡單和容易實現!謝謝! – Ahmed 2011-10-05 19:37:54

2

我遇到了同樣的問題。我搜索了Stackoverflow和Google很多次,但沒有答案。現在我解決了它。這就是:

tabWidget.setRightStripDrawable(R.drawable.tab_strip); 
tabWidget.setLeftStripDrawable(R.drawable.tab_strip); 

tab_strip是png圖片(寬度:50像素,高度:2px的)