在我的Android TabWidget中,我希望能夠更改選項卡的索引,使得選項卡的順序或位置相對於其他選項卡發生更改。我沒有看到在文檔中做到這一點的方法。有人有主意嗎?Android:更改TabWidget中的Tab鍵順序/位置
我有一個滾動標籤欄,右邊最後一個標籤爲「+」標籤。用戶點擊這個來創建一個新標籤。但新選項卡總是在最右側創建,我想在「+」選項卡的左側插入新選項卡。
在我的Android TabWidget中,我希望能夠更改選項卡的索引,使得選項卡的順序或位置相對於其他選項卡發生更改。我沒有看到在文檔中做到這一點的方法。有人有主意嗎?Android:更改TabWidget中的Tab鍵順序/位置
我有一個滾動標籤欄,右邊最後一個標籤爲「+」標籤。用戶點擊這個來創建一個新標籤。但新選項卡總是在最右側創建,我想在「+」選項卡的左側插入新選項卡。
看看TabHost.java。你很可能需要推出自己的TabHost並修改addTab來獲取索引並相應地添加它。
您可以擴展TabHost並將您自己的實現添加到addTabWithIndex()。 TabHost中有許多數據結構是私有的,因此擴展可能無法完全解決您的問題。
我試過了,我失敗了。各種各樣的子數據結構阻礙了我們的發展 –
謝謝貝爾登。我查看了代碼,我想我會看到我將在addTab中進行更改以使其工作。然而,我對Java並不擅長,我不知道你是否在說「自己動手」時,你打算讓我複製粘貼整個班級並進行修改(我嘗試過但我的項目不喜歡import com.android.internal.R),或者如果你的意思是編寫一個擴展TabHost的類並編寫一個新的addTab方法或重寫它(我嘗試了但是擴展時我不認爲你可以訪問超類的私有成員) 。 – Lamprizzle
是的,你將不得不復制/粘貼整個shebang並使其工作。根據其引用的內部類的數量,這可能也可能不復雜,您還必須將其複製到您的包中,以及所有引用並將它們轉換爲您的(即com.android.internal.R。 xxx - > com.my.package.R.xxx)。 –
爲了解決這個問題,我複製到TabWidget中,並遇到了更多的問題,試圖訪問它在我的項目中無法訪問的東西。另一個困難是TabHost和TabWidget引用了一堆我不想嘗試複製的drawable和style資源。所以現在我要堅持讓我的「新標籤」選項卡在左邊緣。 – Lamprizzle