android - ViewPager 更改页面时更改工具栏颜色

标签 android android-viewpager android-pagetransformer

我一直在想这个问题,但我似乎无法弄清楚。我有一个简单的应用程序退出 3 个选项卡 (TabLayout + ViewPager),我想在滑动选项卡时更改 ToolBar 的颜色。我想要实现的效果是在用户滑动到下一个或上一个选项卡时动态更改颜色。

Check video here

在过去,我已经能够通过为每个 subview 分配颜色并使用 PageTransformer 修改来更改 ViewPager 的 subview 的背景工作正常的 alpha 组件,但是,ToolBar 不是 ViewPager 的子级,因此我无法为每个页面设置颜色,因为只有一个 ToolBar 始终存在。

关于如何实现这一目标的任何想法?

最佳答案

在这种情况下,您应该向 ViewPager 添加一个 onPageChangeListener,然后单独处理每个更改。

public class MyActivity extends AppCompatActivity {
private Toolbar toolbar;
private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.oncreate(savedInstanceState);

    //Initialize your views

    viewPager.addOnPageChangeListener(new OnPageChangeListener() {
    //Override default methods and change toolbar color inside of here
    });
  }
}

关于android - ViewPager 更改页面时更改工具栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36439599/

相关文章:

Android: 错误:(464) 属性 "dividerPadding"已经被定义

android - ViewPager : swipe not working 内的 ScrollView

Android MapView 使用 ViewPager 和 PageTransformer 消失

android - 具有多个 PageTransformer 的 ViewPager(运行时的 PageTransformer)

java - 在 android 中后台工作未完成时的工作进度动画

android - 可变的MediaPlayer类,可扩展或使用android的MediaPlayer类

java - 自定义 CursorAdapter 中出现 "Finalizing Cursor"错误的问题

android - 在 ViewPager 中使用 SwipeRefreshLayout 和 WebView

android - View Pager Transformation 像卡片一样置于顶部

安卓 4.3 : BLE: Filtering behaviour of startLeScan()