首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android,可以在图片库的每个图片中添加文字吗?

Android,可以在图片库的每个图片中添加文字吗?
EN

Stack Overflow用户
提问于 2012-04-25 20:47:28
回答 2查看 762关注 0票数 0

我在我的项目中使用图片库,我可以用我的适配器将图像充气到图库中。如果我想在图像的底部添加文本(2-3个单词作为图像的名称),我应该怎么做?有没有关于它的纽约参考资料?

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-25 21:03:06

首先:创建包含文本视图和图像视图的gallery_items布局。

然后你必须使用ViewHolder类在getView方法中扩展布局,

如下所示:

代码语言:javascript
复制
 public class GalleryPhotoWithText extends Activity {
  private  Gallery galleryView; 
    /** Called when the activity is first created. */
    @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

      galleryView = (Gallery)findViewById(R.id.galleryid);

       galleryView.setAdapter(new ImageAdapter(this));         
           }


 public class ImageAdapter extends BaseAdapter { 
  private Activity activity;  
  private  LayoutInflater inflater=null; 
  public ImageAdapter(Activity a) {   
      activity = a;  
           inflater = (LayoutInflater)activity.getSystemService
                   (Context.LAYOUT_INFLATER_SERVICE);          } 

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

public Object getItem(int position) {   
    return position;         }   

public long getItemId(int position) {   
    return position;         }    

public  class ViewHolder{   
    public TextView text;    
    public ImageView image;         }   

public View getView(int position, View convertView, ViewGroup parent) {   
    View vi=convertView;   
    ViewHolder holder;   
    if(convertView==null){  
        vi = inflater.inflate(R.layout.gallery_items, null); 
        holder=new ViewHolder();  
        holder.text=(TextView)vi.findViewById(R.id.textView1);  
        holder.image=(ImageView)vi.findViewById(R.id.image);   
        vi.setTag(holder);             }  

        else    

    holder=(ViewHolder)vi.getTag();  
    holder.text.setText(name[position]); 
    final int stub_id=data[position];  
    holder.image.setImageResource(stub_id);  
    return vi;         } 

    private int[] data = {  
        R.drawable.image1, R.drawable.image2,  
        R.drawable.image3, R.drawable.image4,  


                        };  
    private String[] name = {  
        "first pic name", "second pic name",  
        "third pic name", "fourth pic name",  



        };     } }

希望这对你有所帮助

票数 0
EN

Stack Overflow用户

发布于 2012-04-25 20:53:56

从适配器的getView方法创建并返回一个自定义视图对象。您可以将包含ImageViewTextView的XML扩展到具有垂直方向的LinearLayout中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10315951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档