توسط
Razieh Shahraki
توی این آموزش میخوایم یه گالری عکس درست کنیم که از view pager استفاده میکنه توی بعضی از نرم افزارها برای بخش راهنما هم استفاده میشه.
برای این کار پروزه جدید ایجاد کنید توی فایل activity_main.xml کد زیر را قرار بدید
]<?xml version="1.0" encoding="utf-8"?>
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
android:id="@+id/view_pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/screen_navigation_button" />
android:id="@id/screen_navigation_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:padding="10dip"
android:text="ViewPager!"
android:textSize="18sp" />
فایل دیگری به اسم single_view.xml ایجاد کنید و کد زیر را در آن قرار دهید.
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/image_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
در فایل جاوا کد زیر را قرار دهید
package com.example.viewpageractivity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final int MAX_VIEWS = 5;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(new WalkthroughPagerAdapter());
mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener());
}
class WalkthroughPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return MAX_VIEWS;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == (View) object;
}
@Override
public Object instantiateItem(View container, int position) {
Log.e("viewPager", "instantiateItem(" + position + ");");
Toast.makeText(getApplicationContext(), position+"", Toast.LENGTH_LONG).show();
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View imageViewContainer = inflater.inflate(R.layout.single_view, null);
ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.image_view);
switch(position) {
case 0:
imageView.setImageResource(R.drawable.ic_launcher);
break;
case 1:
imageView.setImageResource(R.drawable.ic_launcher);
break;
case 2:
imageView.setImageResource(R.drawable.ic_launcher);
break;
case 3:
imageView.setImageResource(R.drawable.ic_launcher);
break;
case 4:
imageView.setImageResource(R.drawable.ic_launcher);
break;
}
((ViewPager) container).addView(imageViewContainer, 0);
return imageViewContainer;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager)container).removeView((View)object);
}
}
class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener {
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int position) {
// Here is where you should show change the view of page indicator
switch(position) {
case MAX_VIEWS - 1:
break;
default:
}
}
}
با توجه به نیاز خودتون میتونید برنامه رو تغییر بدید
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .