gpt4 book ai didi

android - 如何为 ViewPager 中的每个选项卡图像应用属性动画

转载 作者:行者123 更新时间:2023-11-30 02:08:09 26 4
gpt4 key购买 nike

我正在使用带有可绘制图像的滑动标签: https://github.com/codepath/android_guides/wiki/Google-Play-Style-Tabs-using-SlidingTabLayout

 @Override
public CharSequence getPageTitle(int position) {

imageTabs = getApplicationContext().getResources().getDrawable(imageResId[position]);
imageTabs.setBounds(0, 0, imageTabs.getIntrinsicWidth(), imageTabs.getIntrinsicHeight());

SpannableString sb = new SpannableString(" ");
ImageSpan imageSpan = new ImageSpan(imageTabs, ImageSpan.ALIGN_BOTTOM);
sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

return sb;
}

我想在显示选项卡 View (不在幻灯片上)时使用属性动画为每个选项卡图像设置动画像这样的东西(但这不起作用,因为属性动画不适用于可绘制对象):

if(position==1)
{
imageTabs.animate().setDuration(300).setStartDelay(100).translate...
}
if(position==2)
{
imageTabs.animate().setDuration(300).setStartDelay(200).translate...
}

我怎样才能做到这一点?谢谢。

最佳答案

好的,如果其他人需要这个,我找到了一个简单的解决方案。在 SlidingTabLayout java 类中:

 private void populateTabStrip() {

final PagerAdapter adapter = mViewPager.getAdapter();
final View.OnClickListener tabClickListener = new TabClickListener();


int delay;
for (int i = 0; i < adapter.getCount(); i++) {

View tabView = null;
TextView tabTitleView = null;

if (mTabViewLayoutId != 0) {
// If there is a custom tab view layout id set, try and inflate it
tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip,
false);
tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId);
// adapter.getPageTitle(0)

}

if (tabView == null) {
tabView = createDefaultTabView(getContext());
}

if (tabTitleView == null && TextView.class.isInstance(tabView)) {
tabTitleView = (TextView) tabView;
}

if (mDistributeEvenly) {
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams();
lp.width = 0;
lp.weight = 1;
}

tabTitleView.setText(adapter.getPageTitle(i));
tabView.setOnClickListener(tabClickListener);
String desc = mContentDescriptions.get(i, null);
if (desc != null) {
tabView.setContentDescription(desc);
}

mTabStrip.addView(tabView);
if (i == mViewPager.getCurrentItem()) {
tabView.setSelected(true);

}
tabTitleView.setTextColor(getResources().getColorStateList(R.color.selectortab));
//tabTitleView.setBackgroundColor(getResources().getColorStateList(R.color.selectortab));
tabTitleView.setTextSize(14);

delay=(i*80)+750;

mTabStrip.getChildAt(i).setScaleY(0f);
mTabStrip.getChildAt(i).setScaleX(0f);
mTabStrip.getChildAt(i).animate()
.setStartDelay(delay)
.setInterpolator(new FastOutSlowInInterpolator())
.setDuration(300)
.scaleY(1f)
.scaleX(1f);
}

}

关于android - 如何为 ViewPager 中的每个选项卡图像应用属性动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30445899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com