0
У меня есть панель инструментов и PagerSlidingTabStrips для моего макета, и я меняю возможности рисования одновременно, когда выбрана другая страница или когда прокручивается список, связанный со страницей. Вот код:Drawable не работает должным образом
Drawable DRAWABLE[] = new Drawable[8];
DRAWABLE[0] = getResources().getDrawable(R.drawable.actionbar_bg);
DRAWABLE[1] = getResources().getDrawable(R.drawable.actionbar_bg_red);
DRAWABLE[2] = getResources().getDrawable(R.drawable.actionbar_bg_blue);
DRAWABLE[3] = getResources().getDrawable(R.drawable.actionbar_bg_orange);
DRAWABLE[4] = getResources().getDrawable(R.drawable.actionbar_bg_grey);
DRAWABLE[5] = getResources().getDrawable(R.drawable.actionbar_bg);
DRAWABLE[6] = getResources().getDrawable(R.drawable.actionbar_bg_red);
DRAWABLE[7] =getResources().getDrawable(R.drawable.actionbar_bg_blue);
// OnPageSelected Метод:
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
mHeaderLogo.setImageResource(IMAGES[position]);
mPagerStripView.setBackground(DRAWABLE[position]);
mActionBarView.setBackground(DRAWABLE[position]);
}
// OnScroll Метод:
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount, int pagePosition) {
// TODO Auto-generated method stub
if (mViewPager.getCurrentItem() == pagePosition) {
int scrollY = getScrollY(view);
ViewHelper.setTranslationY(mHeader,
Math.max(-scrollY, mMinHeaderTranslation));
float ratio = clamp(ViewHelper.getTranslationY(mHeader)
/mMinHeaderTranslation, 0.0f, 1.0f);
int alpha = (int) (ratio * 255);
Drawable currentDrawable = DRAWABLE[pagePosition];
mCurrentDrawable.setAlpha(alpha);
mActionBarView.setBackground(mCurrentDrawable);
mPagerStripView.setBackground(mCurrentDrawable);
}
}
Но значение альфа не изменения, как ожидается для обеих сторон. Вы можете видеть из GIF, что я пытаюсь достичь
значения AFAIK все ресурсы являются s хранится как 'int'. Измените 'Drawable DRAWABLE []' на 'int DRAWABLE []' – Apurva
Я изменяю значения альфа для drawable, когда прокручивается список. – Pankaj