2011-04-06 67 views
0

在我的tabactivity,我顯示圖標,我從數據庫中獲得,通過創建一個ImageView並將其傳遞給setIndicator方法。每個標籤只有一個圖像,因此我想知道在選擇標籤時是否有辦法單獨更改圖像的顏色(而不是更改標籤的顏色)?當選項卡被選中時,是否可以隱藏在標籤底部繪製的灰線? 任何幫助是appreciated..thanks安卓tabactivity - 如何更改圖標圖像選擇一個選項卡

回答

3

隱藏灰線:

yourTabWidget.setStripEnabled(false); 

設置每個選項卡狀態的自定義圖像:

tabitemicon.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use grey --> 
    <item android:drawable="@drawable/orange" 
      android:state_selected="true" /> 
    <!-- When not selected, use white--> 
    <item android:drawable="@drawable/white" /> 
</selector> 

Java代碼:

tabHost = getTabHost(): 
tabHost.newTabSpec("test").setIndicator("My Tab Title", 
          res.getDrawable(R.drawable.tabitemicon)) 
         .setContent(someIntent); 
+0

感謝您的快速回復。我忘了提及我正在構建針對Android2.1的項目,而我相信「tabStripEnabled」是在2.2中引入的。有沒有辦法在2.1中實現這一點?此外,我從數據庫中獲取圖標並快速創建一個imageview並將其傳遞給setIndicator()。我假設您提供的代碼只有在我從可繪製文件夾中獲取圖像時纔有效? – anddeveloper 2011-04-06 19:30:39

+0

只要隱藏灰線,如果你不能隱藏它,那麼我會建議你以某種方式將它包含在你的設計中。正如你的標籤的背景是帶背景一樣,然後在標籤標識中加入一個邊框來表示分離。 下面是一個指向以前回答的問題的鏈接,以編程方式聲明選擇器。希望有所幫助。 http://stackoverflow.com/questions/4697528/replace-selector-images-programmatically/4697794#4697794 – azharb 2011-04-06 19:36:56

相關問題