我目前有一个使用选项卡式导航实现的 actionBar,现在想自定义选项卡本身。我为每个选项卡创建了一个自定义 XML 布局,使其具有一个 textview 和一个可点击的 ImageButton,并使用 ActionBar.Tab.setCustomView 进行设置。问题是布局的所有属性似乎都没有任何效果(例如对齐)。任何帮助,将不胜感激!
这是一张显示所生产产品的图像:正在生产的产品的图像
我的自定义选项卡布局 XML 文件
<?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:orientation="horizontal" >
<TextView
android:id="@+id/tab_title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_action_refresh"/>
</RelativeLayout>
动作条码:
final ActionBar actionBar = getActionBar();
//Because there is no 'parent' when navigating from the action bar, the home button for the Action Bar is disabled.
actionBar.setHomeButtonEnabled(false);
//Specify that the actionBar will include a tabbed navigation
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Setting up the ViewPager rowingViewPager, attaching the RowingFragmentPagerAdapter and setting up a listener for when the
// user swipes between sections.
rowViewPager = (ViewPager) findViewById(R.id.pager);
rowViewPager.setAdapter(rowAdapter);
rowViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
actionBar.setSelectedNavigationItem(position);
}
});
// For loop to add tabs for each fragment to the actionBar
for (int tab_counter = 0; tab_counter < rowAdapter.getCount(); tab_counter++)
{
Tab new_tab = actionBar.newTab();
new_tab.setCustomView(R.layout.custom_tab);
TextView tab_title = (TextView) new_tab.getCustomView().findViewById(R.id.tab_title);
tab_title.setText(rowAdapter.getTabTitle(tab_counter));
new_tab.setTabListener(this);
// Add tab with specified text as well as setting this activity as the TabListener.
actionBar.addTab(new_tab);
}
rowViewPager.setOffscreenPageLimit(2); //Sets the number of off-screen fragments to store and prevent re-load. Will increase if future fragments are added.
}