TextSwitcher切换动画
16lz
2021-01-26
package com.leigo.textswitcherdemo;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v7.app.ActionBarActivity;import android.view.LayoutInflater;import android.view.View;import android.widget.TextSwitcher;import android.widget.ViewSwitcher;import com.viewpagerindicator.CirclePageIndicator;import com.viewpagerindicator.PageIndicator;public class MainActivity extends ActionBarActivity implements ViewSwitcher.ViewFactory { private static final int[] TABS = {R.string.tip_guide_first, R.string.tip_guide_second, R.string.tip_guide_third , R.string.tip_guide_fourth, R.string.tip_guide_fifth, R.string.tip_guide_six}; TestFragmentAdapter mAdapter; ViewPager mPager; PageIndicator mIndicator; TextSwitcher mTip; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdapter = new TestFragmentAdapter(getFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); mIndicator = (CirclePageIndicator) findViewById(R.id.indicator); mIndicator.setViewPager(mPager); mTip = (TextSwitcher) findViewById(R.id.tip); mTip.setFactory(this); mTip.setCurrentText(getString(R.string.tip_guide_first)); mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { mTip.setText(getString(TABS[position])); } @Override public void onPageScrollStateChanged(int state) { } }); } @Override public View makeView() { return LayoutInflater.from(this).inflate(R.layout.guide_tip, null); }}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff00a7ff"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:paddingBottom="100dp" android:layout_width="match_parent" android:layout_height="match_parent" /> <com.viewpagerindicator.CirclePageIndicator android:id="@+id/indicator" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" app:strokeWidth="0.0dip" app:fillColor="#ffffffff" app:pageColor="#88ffffff" app:strokeColor="#00000000" /> <TextSwitcher android:id="@+id/tip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inAnimation="@anim/slide_in_down" android:outAnimation="@anim/slide_out_up" android:layout_above="@id/indicator" android:layout_centerHorizontal="true" /></RelativeLayout>
slide_in_down.xml
<?xml version="1.0" encoding="utf-8"?><set android:shareInterpolator="false" android:zAdjustment="top" xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@integer/config_activity_animation_time" android:fromYDelta="50.0%p" android:toYDelta="0.0" /> <alpha android:duration="@integer/config_activity_animation_time" android:fromAlpha="0.0" android:toAlpha="1.0" /></set>
slide_out_up.xml
<?xml version="1.0" encoding="utf-8"?><set android:shareInterpolator="false" android:zAdjustment="top" xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@integer/config_activity_animation_time" android:fromYDelta="0.0" android:toYDelta="-50.0%p" /> <alpha android:duration="@integer/config_activity_animation_time" android:fromAlpha="1.0" android:toAlpha="0.0" /></set>
package com.leigo.textswitcherdemo;import android.app.Fragment;import android.app.FragmentManager;import android.support.v13.app.FragmentPagerAdapter;class TestFragmentAdapter extends FragmentPagerAdapter { protected static final String[] CONTENT = new String[]{"This", "Is", "A", "Test", "Demo", "Text"}; private int mCount = CONTENT.length; public TestFragmentAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return TestFragment.newInstance(CONTENT[position % CONTENT.length]); } @Override public int getCount() { return mCount; } @Override public CharSequence getPageTitle(int position) { return TestFragmentAdapter.CONTENT[position % CONTENT.length]; }}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer