如何在运行时更改Tabview?

发布于 2024-12-19 15:56:50 字数 292 浏览 1 评论 0原文

我想在 android 运行时单击该选项卡来更改选项卡视图。

当我单击“收藏夹”选项卡时,会自动显示此选项卡图像,如“主页”选项卡。

请帮助我。

像这样 在

在此处输入图像描述

之前和在

请举例...

提前致谢...

I want to change Tab view on click on that tab at run time in android.

When i m click in Favourites tab then automatically this tab image like Home tab..

Please help me in this.

like this
Before

enter image description here

And after

enter image description here

Examples please...

Thanks in Advance...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

征﹌骨岁月お 2024-12-26 15:56:50

要在选项卡状态更改时自动切换选项卡图标图像,请使用放置在资源的可绘制文件夹中的 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/home" android:state_selected="true" />   
 <!-- When not selected, use white-->    
<item android:drawable="@drawable/favorites" />
</selector>

请检查选项卡布局

To automatically switch between the tab icon images when the tab state changes, use an xml file placed in drawable folder of resources as the tab indicator resource.

<?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/home" android:state_selected="true" />   
 <!-- When not selected, use white-->    
<item android:drawable="@drawable/favorites" />
</selector>

Please check Tab Layout

纸伞微斜 2024-12-26 15:56:50

我有一个例子,其解释与您的要求不同,但使用此或在更改某些条件或添加某些条件后您将得到解决方案。

如果我们想在运行时更改选项卡颜色或图像或文本颜色,那么我们使用此代码。

for(int i=0;i<host.getTabWidget().getChildCount();i++)
{
   host.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bg);
   TextView tv = (TextView) host.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs
   tv.setTextColor(Color.parseColor("#ffffff"));
}
host.getTabWidget().getChildAt(host.getCurrentTab()).setBackgroundResource(R.drawable.tab_active_bg);// selected
TextView tv = (TextView) host.getCurrentTabView().findViewById(android.R.id.title); //for Selected Tab
tv.setTextColor(Color.parseColor("#000000"));

在此代码中 host.getTabWidget().getChildCount() 返回选项卡小部件的总数。例如,当您显示图像时,有 4 个选项卡。

我希望它对你有帮助。祝你好运。 :)

I have one example in that not explained same as your requirements but using this OR after changing some condition OR adding some condition you will got your solution.

If we want to change tab color or images or text color at runtime then we used this code.

for(int i=0;i<host.getTabWidget().getChildCount();i++)
{
   host.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bg);
   TextView tv = (TextView) host.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs
   tv.setTextColor(Color.parseColor("#ffffff"));
}
host.getTabWidget().getChildAt(host.getCurrentTab()).setBackgroundResource(R.drawable.tab_active_bg);// selected
TextView tv = (TextView) host.getCurrentTabView().findViewById(android.R.id.title); //for Selected Tab
tv.setTextColor(Color.parseColor("#000000"));

In this code host.getTabWidget().getChildCount() return the total number of your tab widgets. For example here as you display image 4 tabs are there.

I hope it helps you. Gud luck. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文