0
在我的tabactivity,我顯示圖標,我從數據庫中獲得,通過創建一個ImageView並將其傳遞給setIndicator方法。每個標籤只有一個圖像,因此我想知道在選擇標籤時是否有辦法單獨更改圖像的顏色(而不是更改標籤的顏色)?當選項卡被選中時,是否可以隱藏在標籤底部繪製的灰線? 任何幫助是appreciated..thanks安卓tabactivity - 如何更改圖標圖像選擇一個選項卡
在我的tabactivity,我顯示圖標,我從數據庫中獲得,通過創建一個ImageView並將其傳遞給setIndicator方法。每個標籤只有一個圖像,因此我想知道在選擇標籤時是否有辦法單獨更改圖像的顏色(而不是更改標籤的顏色)?當選項卡被選中時,是否可以隱藏在標籤底部繪製的灰線? 任何幫助是appreciated..thanks安卓tabactivity - 如何更改圖標圖像選擇一個選項卡
隱藏灰線:
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);
感謝您的快速回復。我忘了提及我正在構建針對Android2.1的項目,而我相信「tabStripEnabled」是在2.2中引入的。有沒有辦法在2.1中實現這一點?此外,我從數據庫中獲取圖標並快速創建一個imageview並將其傳遞給setIndicator()。我假設您提供的代碼只有在我從可繪製文件夾中獲取圖像時纔有效? – anddeveloper 2011-04-06 19:30:39
只要隱藏灰線,如果你不能隱藏它,那麼我會建議你以某種方式將它包含在你的設計中。正如你的標籤的背景是帶背景一樣,然後在標籤標識中加入一個邊框來表示分離。 下面是一個指向以前回答的問題的鏈接,以編程方式聲明選擇器。希望有所幫助。 http://stackoverflow.com/questions/4697528/replace-selector-images-programmatically/4697794#4697794 – azharb 2011-04-06 19:36:56