将Wharton的ViewPagerIndicator添加到Action Bar布局

时间:2014-05-08 23:35:30

标签: android android-actionbar android-viewpager viewpagerindicator

我目前正在使用Jake Wharton的ViewPagerIndicator和我的片段适配器。当我提到我的寻呼机旁边的指示器时,一切都很好。

但是,我希望将指标放在Custom ActionBar视图中。 但是,在将指标设置为

之后

getActionBar.getCustomView.findViewById(R.id.indicator)

没有任何反应。

指示器是否必须与我的寻呼机相邻?有没有办法将其放入自定义操作栏视图?

据我所知,我还没见过S.O.关于这一点的问题。

- 注意 - 这与ActionBarSherlock无关!

2 个答案:

答案 0 :(得分:3)

  

有没有办法将其放入自定义操作栏视图?

当然,您可以将其放在ActionBar中。

以下是使用UnderlinePageIndicator

的示例

自定义布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <com.viewpagerindicator.UnderlinePageIndicator
        android:id="@+id/pager_indicator"
        android:layout_width="match_parent"
        android:layout_height="2dp" />

</FrameLayout>

<强>实施

// Set up the PagerIndicator
final View abi = getLayoutInflater().inflate(R.layout.action_bar_indicator, null);
final UnderlinePageIndicator upi = (UnderlinePageIndicator) abi
        .findViewById(R.id.pager_indicator);
upi.setViewPager(yourViewPager);

// Set up the ActionBar
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
// Enable the custom display option and apply the layout
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(abi);

<强>结果

Example

答案 1 :(得分:0)

您必须先设置自定义视图。

getActionBar().setCustomView(R.layout.custom_action_bar)

此布局将包含您的ViewPagerIndicator小部件。

然后获取对指标窗口小部件的引用,并将其绑定到寻呼机。