I have created a simple android project which will display various images but the problem is that I can't figure out how to add sound on every image with swipe. I have made a separate pager adapter class for my project.
viewpagerAdapter.java
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class ViewPagerAdapter extends PagerAdapter {
MediaPlayer mp;
Activity activity;
int[] images;
int[] audio;
LayoutInflater inflater;
public ViewPagerAdapter(Activity activity, int[] images,int[] audio){
this.activity=activity;
this.images=images;
this.audio=audio;
}
@Override
public int getCount() {
return images.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, final int position) {
inflater=
(LayoutInflater)activity.getApplicationContext().
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View itemView =
inflater.inflate(R.layout.pager_list,container,false);
final ImageView image;
image = (ImageView)itemView.findViewById(R.id.image_view);
image.setImageResource(images [position]);
image.setScaleType(ImageView.ScaleType.FIT_XY);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View)object);
}
}
and this is my activity class
import android.media.MediaPlayer;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
public class Alphabet extends AppCompatActivity {
MediaPlayer mp;
ViewPager viewPager;
ViewPagerAdapter adapter;
public int[] images = {R.drawable.a, R.drawable.b, R.drawable.c,
R.drawable.d, R.drawable.e, R.drawable.f, R.drawable.g,
R.drawable.h, R.drawable.i, R.drawable.j, R.drawable.k,
R.drawable.l, R.drawable.m, R.drawable.n, R.drawable.o,
R.drawable.p, R.drawable.q, R.drawable.r, R.drawable.s,
R.drawable.t, R.drawable.u, R.drawable.v, R.drawable.w,
R.drawable.x, R.drawable.y, R.drawable.z};
public int[] audio = {R.raw.a, R.raw.b, R.raw.c, R.raw.d};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.swipe);
viewPager = (ViewPager) findViewById(R.id.view_pager);
adapter = new ViewPagerAdapter(this, images, audio);
viewPager.setAdapter(adapter);
}
}
in which part should i make changes.
答案 0 :(得分:0)
您可以使用ViewPager.OnPageChangeListener
收听滑动事件并播放音频。
https://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html