我有以下問題。 我想為tabbuton禁用狀態添加特殊映像,但它不工作。 這就是我在選擇器中所做的。<?xml version="1.0" encoding="utf-8"?>
這與單個"獨立"按鈕的選擇器完全相同,但它不工作,即使按鈕啟用,也顯示禁用狀態。 我做錯什麼了?
編輯:感謝 @NightCrawler sugestions,這是活動unactive狀態的最佳選擇器,但是在禁用按鈕時,我仍然不能使 state_enabled="false"顯示。
解決辦法:在代碼中,我繼續實現禁用狀態的圖像更改:tabWidget.getChildAt(4).setEnabled(true);
icon = (ImageView) wrapper.tabWidget.getChildAt(4).findViewById(R.id.icon);
icon.setImageResource(R.drawable.enabled)
tabWidget.getChildAt(4).setEnabled(false);
icon = (ImageView) wrapper.tabWidget.getChildAt(4).findViewById(R.id.icon);
icon.setImageResource(R.drawable.disabled)
這樣做很好,但是我仍然想知道在tabwidget中只使用XML定義按鈕的禁用狀態是否可以能。
結果:在進行更多修改之後,我發現為什麼禁用了禁用狀態。 在我的例子中,我使用的是按鈕的自定義布局,可以能是任何人自定義 tabhost 。 以上定義的狀態可以在布局中應用於布局,而不是整個布局。 即使這個選擇器已經足夠有 3個期望狀態:
但是,當你禁用tabwidget按鈕時,你必須手動設置你在它的中使用的圖像來禁用:wrapper.tabWidget.getChildAt(0).setEnabled(false);
icon = (ImageView) wrapper.tabWidget.getChildAt(0).findViewById(R.id.icon);
icon.setEnabled(false);
在這種情況下,禁用的選擇器狀態在圖像上被觸發,所需的背景顯示出來。
仍未解釋:
只有在這裡拼圖中丟失的東西是為什麼選擇tabbutton時所觸發的圖像的狀態,但不是禁用狀態。 我甚至試圖在"icon"上設置偵聽器,看看是否在更改選項卡時調用了它們。 所以基本上選擇的是在布局中觸發( 某種方式)的圖像,但是禁用了它,因為它是。 如果有人看這個問題有一些發現,請添加一個評論或者回復的功能參考。 只要想解決類似的Bug,就可以閱讀WOKRAROUND或者發現部分,因為這些可以能會解決這些問題。