1
이미지를 텍스트 및 tts와 함께 스 와이프하려고합니다. ViewPageAdapter를 사용했습니다.뷰 어댑터 클래스로 이미지 스 와이프
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:orientation="vertical" >
<!--ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/a_elephant" /-->
<android.support.v4.view.ViewPager
android:id="@+id/myfivepanelpager"
android:layout_width="match_parent"
android:layout_height="494dp" />
</LinearLayout>
Main.java 제대로
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewPagerAdapter adapter = new ViewPagerAdapter(this, arrAnimals1, arrAnimals);
ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}
위의 코드 강타 이미지 : 코드
public class ViewPagerAdapter extends PagerAdapter{
Activity activity;
int imageArray[];
String[] arrToDisplay;
public ViewPagerAdapter(Activity act, int[] imgArra, String[] arrayObject) {
imageArray = imgArra;
activity = act;
arrToDisplay = arrayObject;
}
public int getCount() {
return imageArray.length;
}
public Object instantiateItem(View collection, int position) {
ImageView view = new ImageView(activity);
view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
view.setScaleType(ScaleType.FIT_XY);
view.setBackgroundResource(imageArray[position]);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
XML이다. 문제는 tts와 함께 텍스트를 보여주고 싶습니다. 어댑터 클래스의 텍스트를 표시하기 위해이 코드를 시도했지만 작동하지 않습니다.
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.animals, null);
ImageView im=(ImageView) layout.findViewById(R.id.imageView1);
im.setBackgroundResource(imageArray[position]);
TextView dsc=(TextView) layout.findViewById(R.id.txtObjName);
dsc.setText("asdfasdf");
((ViewPager) collection).addView(layout, 0);
return layout;
}
도와주세요. 내가 제안
감사합니다, ITIN
'animals.xml' 파일을 게시하십시오. 또 다른 요지는'setScaleType'을 원한다면'setImageResource'를 사용해야하고'setImageBackgroundResource'를 사용하지 말아야합니다. – Wenhui
위의 xml 코드는 animal.xml입니다. – itin
xml 파일에 ViewPager가 있으며 ImageView가 없습니다. 내가 놓친 게 있니? – Wenhui