我有一个自定义标签活动,我已经使用SO提供了很多帮助。然而,我遇到了几个问题,我在这里找不到答案。
首先,所有选项卡状态都来自android apk选项卡资源,我调整了颜色。未选中的标签九补丁图片显示在每个标签下面,我无法让它消失,有任何建议吗?
其次,当我第一次进入选项卡活动时,焦点选项卡的文本不会更改,但是当我按下选项卡或移动到另一个选项卡并返回时,文本会更改。如何在压缩后显示焦点文本时显示初始焦点文本?
这是显示我的意思的图像;左侧的初始加载,右侧按下,两个图像都显示选项卡后面显示的未选择的标签图像:
我试图发布标签看起来如何但我的代表还不够高的图像。遗憾!
这是我正在膨胀的标签布局xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="75dp"
android:layout_weight="1"
android:background="@drawable/custom_tab_selector"
android:orientation="vertical" >
<ImageView
android:id="@+id/ivTabIicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/tvTabTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
这是我的选择器XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Active tab -->
<item
android:drawable="@drawable/tab_selected"
android:state_focused="false"
android:state_pressed="false"
android:state_selected="true"/>
<!-- Inactive tab -->
<item
android:drawable="@drawable/tab_unselected"
android:state_focused="false"
android:state_pressed="false"
android:state_selected="false"/>
<!-- Pressed tab -->
<item
android:drawable="@drawable/tab_press"
android:state_pressed="true"/>
<!-- Selected tab (using d-pad) -->
<item
android:drawable="@drawable/tab_focus"
android:state_focused="true"
android:state_pressed="false"
android:state_selected="true"/>
</selector>
这是我的活动java部分,它会膨胀并显示每个标签
// Initialize a TabSpec for each tab and add it to the TabHost
// Team tab
View tabTeamIndicator = LayoutInflater.from(this).inflate(R.layout.tab_team_layout, getTabWidget(), false);
spec = tabHost.newTabSpec("teamTab");
title = (TextView) tabTeamIndicator.findViewById(R.id.tvTabTitle);
title.setText("Team Manager");
icon = (ImageView) tabTeamIndicator.findViewById(R.id.ivTabIicon);
icon.setImageResource(R.drawable.custom_teamtab_icon);
spec.setIndicator(tabTeamIndicator);
spec.setContent(intentTeam);
tabHost.addTab(spec);
非常感谢您的帮助!顺便说一下,我在尝试它们的手机上的颜色比在模拟器中看起来要好得多!!!
编辑:更改主题标题
答案 0 :(得分:2)
这里愚蠢的错误。包含选项卡小部件的xml布局具有
android:background="@drawable/custom_tab_selector"
其中的属性导致选项卡的背景在后台第二次被绘制。