android(4) 第一次启动滑动界面

来源:互联网 发布:淘宝客买家入口 编辑:程序博客网 时间:2024/06/04 19:03

一.滑动界面:

     第一次启动时除了启动动画外,可能还有着滑动功能介绍界面,现在记录一下这种界面的实现方式,接着上篇启动动画之后的效果附加上。

 效果图:

         


界面:

public class SlideActivity extends Activity{private ViewPager mViewPager;private ImageView mPage0;private ImageView mPage1;private ImageView mPage2;private ImageView mPage3;private ImageView mPage4;private ImageView mPage5;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.whatsnew_viewpager);        mViewPager = (ViewPager)findViewById(R.id.whatsnew_viewpager);                mViewPager.setOnPageChangeListener(new MyOnPageChangeListener());                       mPage0 = (ImageView)findViewById(R.id.page0);        mPage1 = (ImageView)findViewById(R.id.page1);        mPage2 = (ImageView)findViewById(R.id.page2);        mPage3 = (ImageView)findViewById(R.id.page3);        mPage4 = (ImageView)findViewById(R.id.page4);        mPage5 = (ImageView)findViewById(R.id.page5);                //将要分页显示的View装入数组中        LayoutInflater mLi = LayoutInflater.from(this);        View view1 = mLi.inflate(R.layout.whats1, null);        View view2 = mLi.inflate(R.layout.whats2, null);        View view3 = mLi.inflate(R.layout.whats3, null);        View view4 = mLi.inflate(R.layout.whats4, null);        View view5 = mLi.inflate(R.layout.whats5, null);        View view6 = mLi.inflate(R.layout.whats6, null);                //每个页面的view数据        final ArrayList<View> views = new ArrayList<View>();        views.add(view1);        views.add(view2);        views.add(view3);        views.add(view4);        views.add(view5);        views.add(view6);                //填充ViewPager的数据适配器        PagerAdapter mPagerAdapter = new PagerAdapter() {@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic int getCount() {return views.size();}@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager)container).removeView(views.get(position));}@Overridepublic Object instantiateItem(View container, int position) {((ViewPager)container).addView(views.get(position));return views.get(position);}};mViewPager.setAdapter(mPagerAdapter);    }            public class MyOnPageChangeListener implements OnPageChangeListener {@Overridepublic void onPageSelected(int arg0) {switch (arg0) {case 0:mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));break;case 1:mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));break;case 2:mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));break;case 3:mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));break;case 4:mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page));break;case 5:mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page_now));mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));break;}//animation.setFillAfter(true);// True:图片停在动画结束位置//animation.setDuration(300);//mPageImg.startAnimation(animation);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}}    public void startbutton(View v) {        Intent intent = new Intent();intent.setClass(SlideActivity.this,TestActivity.class);startActivity(intent);this.finish();      } }

布局:

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >      <android.support.v4.view.ViewPager        android:id="@+id/whatsnew_viewpager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center" >                         <android.support.v4.view.PagerTitleStrip            android:id="@+id/pagertitle"            android:layout_width="wrap_content"            android:layout_height="0dp"            android:layout_gravity="bottom"            android:background="#0000"            android:textColor="#ffff" />    </android.support.v4.view.ViewPager>          <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="horizontal"        >                  <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_gravity="bottom"        android:layout_marginBottom="30dp"         android:gravity="center_horizontal"     >                        <ImageView            android:id="@+id/page0"        android:layout_width="wrap_content"        android:layout_height="wrap_content"                     android:scaleType="matrix"        android:src="@drawable/page_now" />            <ImageView            android:id="@+id/page1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="10dp"                     android:scaleType="matrix"        android:src="@drawable/page" />            <ImageView            android:id="@+id/page2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="10dp"                        android:scaleType="matrix"        android:src="@drawable/page" />            <ImageView            android:id="@+id/page3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"         android:layout_marginLeft="10dp"                       android:scaleType="matrix"        android:src="@drawable/page" />            <ImageView            android:id="@+id/page4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"         android:layout_marginLeft="10dp"                       android:scaleType="matrix"        android:src="@drawable/page" />            <ImageView            android:id="@+id/page5"        android:layout_width="wrap_content"        android:layout_height="wrap_content"         android:layout_marginLeft="10dp"                       android:scaleType="matrix"        android:src="@drawable/page" />                               </LinearLayout>                   </LinearLayout>       </FrameLayout>

每个view的布局:

<?xml version="1.0" encoding="UTF-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"     android:background="@drawable/w1"     android:layout_width="fill_parent"     android:layout_height="fill_parent"  >        <TextView         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:gravity="center"         android:text="\n旅游日记\n是您外出旅游的必备应用"         android:layout_alignParentTop="true"        android:layout_marginTop="35dp"        android:textSize="22sp"        android:textColor="#fff"         /></RelativeLayout>

如果想要实现第一次启动显示,用SharedPreferences存储下信息就行,每次启动判断下,就ok了。




   

3 2
原创粉丝点击