gpt4 book ai didi

java - 在image viewpager中的每个图像下添加文字描述

转载 作者:太空狗 更新时间:2023-10-29 13:32:54 24 4
gpt4 key购买 nike

由于厨房类已弃用,所以我尝试用 viewpager 类替换它,我已经创建了我的 image viewpager 并且工作得很好。

现在我尝试在每张图片下添加文本描述,我在谷歌上搜索了很多但没有结果,我尝试使用LayoutInflater自定义布局 但什么都没有结束,它不显示文本。

注意:这是第一次使用 viewpager 并尝试自定义它,所以我下面的代码试图膨胀布局并使用 viewpager 对其进行自定义,可能是错误的或需要更多调整,因为没有这方面的经验。

任何建议将不胜感激,谢谢。

我的代码:

ImagePager:

 public class ImagePager extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ImagePagerAdapter adapter = new ImagePagerAdapter(this, imageArra);
ViewPager myPager = (ViewPager) findViewById(R.id.myimagepager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);}

private int imageArra[] = { 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};}

ImagePagerAdapter:

  public class ImagePagerAdapter extends PagerAdapter {

Activity activity;
int imageArray[];

public ImagePagerAdapter(Activity act, int[] imgArra) {
imageArray = imgArra;
activity = act; }

public int getCount() {
return imageArray.length; }

public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater)collection.getContext().
getSystemService (Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_pager, null);

layout.findViewById(R.id.caption);

ImageView view = new ImageView(activity);
view.setPadding(5, 25, 5, 5);
view.setScaleType(ScaleType.FIT_START);
view.setBackgroundColor(Color.RED);
((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; }
}

最佳答案

这里

public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_pager, null);

layout.findViewById(R.id.caption);

ImageView view = new ImageView(activity);
view.setPadding(5, 25, 5, 5);
view.setScaleType(ScaleType.FIT_START);
view.setBackgroundColor(Color.RED);
((ViewPager) collection).addView(view, 0);
return view; }

cutome_pager 中,像这样设计您的 View 。

<?xml version="1.0" encoding="utf-8"?>

<ImageView
android:id="@+id/gallery_imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

<TextView
android:id="@+id/gallery_imageView_dsc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Hello...." />

public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_pager, null);

ImageView im=(ImageView) layout.findViewById(R.id.gallery_imageView);
im.setBackgroundColor(Color.RED);
TextView dsc=(TextView) layout.findViewById(R.id.gallery_imageView_dsc);
((ViewPager) collection).addView(layout, 0);
return layout; }

关于java - 在image viewpager中的每个图像下添加文字描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com