如何在 viewpager 中设置图像以折叠 android 中的工具栏布局?
how to set an image in viewpager for collapsing toolbar layout in android?
我正在尝试在我的项目中实现 CollapsingToolbarLayout
(imageView)+tablayout,每当我触摸选项卡(片段)时,折叠工具栏布局的 imageView 中需要根据 veiwpager 位置进行更改。为此,我初始化了图像数组并在 viewpager 适配器的 getpostion 调用图像视图,并将数组位置添加到图像视图中,如下所示
@Override
public Fragment getItem(int position)
{
for(int i = 0; i < imgid.length; i++)
{
if(i == position)
{
himage.setImageResource(imgid[i]);
}
}
return mFragmentList.get(position);
}
但是第一次只显示那些图片,然后最后一张图片只出现在所有标签中。
我的要求是每当我触摸我的选项卡时,根据我的选项卡位置,它需要在 collapsingtoolbarlayout 的图像视图中应用图像。
请帮忙怎么做?
提前致谢
尝试这样做。
viewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
int pos = tabLayout.getSelectedTabPosition();
if (pos == 0) {
imageView.setImageResource(R.drawable.your_image_for_first);
} else if (pos == 1) {
imageView.setImageResource(R.drawable.your_image_for_second);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
我正在尝试在我的项目中实现 CollapsingToolbarLayout
(imageView)+tablayout,每当我触摸选项卡(片段)时,折叠工具栏布局的 imageView 中需要根据 veiwpager 位置进行更改。为此,我初始化了图像数组并在 viewpager 适配器的 getpostion 调用图像视图,并将数组位置添加到图像视图中,如下所示
@Override
public Fragment getItem(int position)
{
for(int i = 0; i < imgid.length; i++)
{
if(i == position)
{
himage.setImageResource(imgid[i]);
}
}
return mFragmentList.get(position);
}
但是第一次只显示那些图片,然后最后一张图片只出现在所有标签中。
我的要求是每当我触摸我的选项卡时,根据我的选项卡位置,它需要在 collapsingtoolbarlayout 的图像视图中应用图像。 请帮忙怎么做? 提前致谢
尝试这样做。
viewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
int pos = tabLayout.getSelectedTabPosition();
if (pos == 0) {
imageView.setImageResource(R.drawable.your_image_for_first);
} else if (pos == 1) {
imageView.setImageResource(R.drawable.your_image_for_second);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});