- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在这个布局中使用 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>
结果接缝看起来像这样(带灰色背景的左上角选项卡):
如何使我的自定义 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/
我正在尝试设置我的应用程序的自定义 View ,但我制作的布局没有填满整个操作栏。我尝试了很多样式设置,但没有一个对我有用。 这是我的 Activity 代码 View view = getLayou
出于某种原因,下面的两个代码块都可以工作,但它们显示的结果略有不同。有人可以解释一下区别吗? 版本 1: View customView = getLayoutInflater().inflate(R
你好,我有一个 tabLayout,它试图通过这种方法为每次滚动刷新选项卡的自定义 View private void updateTabs() { for (int i = 0; i
我在这个布局中使用 ActionBar.Tab setCustomView() 方法: 这是我设置 ActionBar 的函数: public void setActionBar()
如何在选项卡项标题下方添加 TextView。我想在 tabitem 的我标题下方完成 50 个中的 20 个是否可以执行此操作。提前致谢我已经完成了一些解决方案的回答。但是我得到了 nullPoin
我的项目中有 Storyboard。我用 [UIBarButtonItem setCustomView:]自定义工具栏按钮的方法。例如: [self setCustomView:[[UIImageVi
我最近升级了我的应用程序以使用 ActionBarSherlock 4.1。由于在 Honeycomb 上运行应用程序的升级用户在操作栏上设置自定义 View 时遇到了由于空指针异常而导致的强制关闭。
自从 appcompat 库从 23.1.0 升级到 23.1.1 后,在 TabLayout.Tab 上调用 setCustomView() 会抛出 NullPointerException. 例如
我是一名优秀的程序员,十分优秀!