【发布时间】:2017-04-13 23:36:15
【问题描述】:
我有问题。我有 3 个片段(页面)的 ViewPager。在第一个片段中,我有向上滑动的面板。我使用了来自 GitHub 的这个库。点击here。在该滑动面板的 TitleBar 中,我有 ImageView,如下图所示。 ImageView 在用户打开或关闭上滑面板时发生变化。
我的问题:当我更改片段(移动到另一页)并返回第一页时 ImageVIew 消失。什么原因?!
Fragment1.java:(setPanelSlideListener 在 onViewCreated 方法中,创建视图时立即调用...)
mSlidingUpPanelLayout.setPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() {
@Override
public void onPanelSlide(View panel, float slideOffset) {
Log.i(TAG, "onPanelSlide, offset " + slideOffset);
}
@Override
public void onPanelCollapsed(View panel) {
Log.i(TAG, "onPanelCollapsed");
mImageView.setBackgroundResource(R.drawable.icon_up);
}
@Override
public void onPanelExpanded(View panel) {
Log.i(TAG, "onPanelExpanded");
mImageView.setBackgroundResource(R.drawable.icon_down);
fab.setColorPressed(getResources().getColor(R.color.fab_up_pressed));
}
@Override
public void onPanelAnchored(View panel) {
Log.i(TAG, "onPanelAnchored");
}
@Override
public void onPanelHidden(View panel) {
Log.i(TAG, "onPanelHidden");
}
@Override
public void onPanelHiddenExecuted(View panel, Interpolator interpolator, int duration) {
Log.i(TAG, "onPanelHiddenExecuted");
}
@Override
public void onPanelShownExecuted(View panel, Interpolator interpolator, int duration) {
Log.i(TAG, "onPanelShownExecuted");
mImageView.setBackgroundResource(R.drawable.icon_up);
}
@Override
public void onPanelExpandedStateY(View panel, boolean reached) {
Log.i(TAG, "onPanelExpandedStateY" + (reached ? "reached" : "left"));
}
@Override
public void onPanelCollapsedStateY(View panel, boolean reached) {
Log.i(TAG, "onPanelCollapsedStateY" + (reached ? "reached" : "left"));
if (reached) {
fab.setColorPressed(getResources().getColor(R.color.fab_pressed));
mTextView.setTextColor(Color.parseColor("#FFFFFF"));
}else{
fab.setColorPressed(getResources().getColor(R.color.fab_up_pressed));
mTextView.setTextColor(Color.parseColor("#FFFFFF"));
}
}
@Override
public void onPanelLayout(View panel, SlidingUpPanelLayout.PanelState state) {
if(state == SlidingUpPanelLayout.PanelState.COLLAPSED){
titleBar.setBackgroundColor(Color.parseColor("#03A9F4"));
fab.setColorNormal(getResources().getColor(R.color.fab_primary));
fab.setColorPressed(getResources().getColor(R.color.fab_pressed));
mTextView.setTextColor(Color.parseColor("#FFFFFF"));
mImageView.setBackgroundResource(R.drawable.icon_up);
}
else if (state == SlidingUpPanelLayout.PanelState.EXPANDED || state == SlidingUpPanelLayout.PanelState.ANCHORED){
titleBar.setBackgroundColor(Color.parseColor("#ffff9431"));
fab.setColorNormal(getResources().getColor(R.color.fab_up_primary));
fab.setColorPressed(getResources().getColor(R.color.fab_up_pressed));
mTextView.setTextColor(Color.parseColor("#FFFFFF"));
mImageView.setBackgroundResource(R.drawable.icon_down);
}
}
});
感谢您的帮助!需要任何帮助!
【问题讨论】:
标签: java android android-activity android-fragments android-viewpager