tabwidget样式 android,如何为tabwidget按钮设置禁用状态的样式最好使用 xml_android-layout_开发99编程知识库...

博客作者遇到了在TabButton禁用状态下无法正确显示自定义图像的问题。通过编辑选择器并尝试在代码中手动设置图像,作者找到了一个工作解决方案,即在启用和禁用按钮时分别设置不同的图像资源。然而,仍然对为何选择器在某些情况下不工作感到困惑。文章探讨了这个问题,并分享了临时的解决方法,希望能帮助遇到类似问题的开发者。
摘要由CSDN通过智能技术生成

我有以下問題。 我想為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或者發現部分,因為這些可以能會解決這些問題。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值