2011-09-05 3 views

답변

2

감사합니다 ... 나는 다른 대체 솔루션도 가지고 있습니다 ... 나는 동적으로 하나의 선형 레이아웃을 만든 다음 하나의 이미지와 텍스트보기를 추가했습니다 ...

public View getView(int position, View convertView, ViewGroup parent) { 

     LinearLayout layout = new LinearLayout(getApplicationContext()); 
     layout.setOrientation(LinearLayout.VERTICAL); 
     layout.setLayoutParams(new Gallery.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 


     ImageView imageView = new ImageView(mContext); 
     imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
       PhotoGalleryGallery.this, data.get(position) 
         .getThumbNailImageUrl() + ".jpg"))); // TODO: change 

     if (Configuration.ORIENTATION_PORTRAIT==PhotoGalleryGallery.this.getResources().getConfiguration().orientation) { 

      imageView.setLayoutParams(new Gallery.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
      imageView.setScaleType(ImageView.ScaleType.FIT_XY); 

      TextView tv = new TextView(mContext); 
      tv.setText(data.get(position).getFirstItem()); 
      tv.setTextColor(Color.WHITE); 
      tv.setTypeface(null, Typeface.BOLD); 
      tv.setPadding(20, 20, 0, 5); 
      tv.setMaxLines(2); 
      tv.setMinLines(2); 

      ImageView divider= new ImageView(mContext); 
      divider.setBackgroundResource(R.drawable.devider); 
      divider.setLayoutParams(new Gallery.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
      divider.setScaleType(ImageView.ScaleType.FIT_XY); 

      TextView tv1 = new TextView(mContext); 
      tv1.setText(data.get(position).getSecondItem()); 
      tv1.setTextColor(Color.WHITE); 
      tv1.setTypeface(null, Typeface.BOLD); 
      tv1.setPadding(20, 5, 0, 0); 
      tv1.setMinLines(2); 
      tv1.setMaxLines(2); 

      layout.addView(imageView); 
      layout.addView(tv); 
      layout.addView(divider); 
      layout.addView(tv1); 

     } else { 
      imageView.setLayoutParams(new Gallery.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
      imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
      layout.addView(imageView); 

     } 
     picPosition=position; 

     return layout; 
    } 
0

는 아래의 링크를 통해 이동하십시오에

**public class ImageAdapter extends BaseAdapter { 
    int mGalleryItemBackground; 
    private Context mContext; 
    private Vector<ListObjectWithTwoTextAndOneImage> data; 
    public ImageAdapter(Context c, 
      Vector<ListObjectWithTwoTextAndOneImage> d) 
{ 
    super(); 
     mContext = c; 
     data = d; 

    } 
    public int getCount() { 
     return data.size(); 
    } 
    public Object getItem(int position) { 
     return position; 
    } 
    public long getItemId(int position) { 
     **fishName.setText(data.get(position).getFirstItem());** 
     return position; 
    } 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView = new ImageView(mContext); 

     imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
       PhotoGalleryGallery.this, data.get(position) 
         .getThumbNailImageUrl() + ".jpg"))); // TODO: change 
     imageView.setLayoutParams(new Gallery.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
     // imageView.setBackgroundResource(mGalleryItemBackground); 
     return imageView; 
    } 
}** 

감사 : 그렇게

내 코드 ... 나 다른 방법을 찾아 도와주세요. 나는 당신의 문제를 해결할 것입니다 : Android gallery with caption

관련 문제