gpt4 book ai didi

Android ActionBar.Tab setCustomView() 不 fill_parent

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:56:28 28 4
gpt4 key购买 nike

我在这个布局中使用 ActionBar.Tab setCustomView() 方法:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_grey" >

<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Test Tab"
android:textColor="@color/background_dark_green"/>

</RelativeLayout>

这是我设置 ActionBar 的函数:

public void setActionBar()
{
ActionBar actionBar = getSupportActionBar();
//actionBar.hide();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
//set action bar navigation mode
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//set tabs
//home tab
Tab tab = actionBar.newTab().setText(TAB_HOME).setTabListener(new PicoTabListener<StartFragment>(this, StartFragment.class));
tab.setCustomView(R.layout.tab_background);
actionBar.addTab(tab);
//events tab
tab = actionBar.newTab().setText(TAB_EVENTS).setTabListener(new PicoTabListener<EventsFragment>(this, EventsFragment.class));
actionBar.addTab(tab);
//enter event code
tab = actionBar.newTab().setText(TAB_CODE).setTabListener(new PicoTabListener<EnterCodeFragment>(this, EnterCodeFragment.class));
actionBar.addTab(tab);
}

和我的 Activity 布局:

<?xml version="1.0" encoding="utf-8"?>
<!-- This is the main layout of the application -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_basic_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_dark_green" >

</RelativeLayout>

结果接缝看起来像这样(带灰色背景的左上角选项卡): enter image description here

如何使我的自定义 View 填充整个选项卡并正常工作?

我正在使用适用于 Android 2.3 的 v7 支持包

最佳答案

我自己刚遇到这个问题并想出了解决方案。您应该为清除背景和填充的 tabview 创建一个样式,并将其用于您的主题。

样式.xml:

<style name="Custom.ActionBar.TabView.Empty" parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@null</item>
<item name="android:padding">0dp</item>
</style>

主题.xml:

<style name="Theme.Custom" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarTabStyle">@style/Custom.ActionBar.TabView.Empty</item>
<item name="actionBarTabStyle">@style/Custom.ActionBar.TabView.Empty</item>
</style>

关于Android ActionBar.Tab setCustomView() 不 fill_parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19754804/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com