2012-04-07 5 views
0

나의 활동에는 이미지가 일부 나옵니다. 내 활동에 gridview를 사용했고 각 행에는 4 개의 이미지가 표시되어야합니다 (각 이미지의 너비는 화면의 25 %입니다). 나는 너비가 같은 크기로 이미지의 높이를 줄여야합니다.Android, 이미지 어댑터에서 이미지 높이를 줄이는 방법?

내 UI에는 gridview가 있고 my imageAdapter는 화면에 그림을 정렬합니다. 이 어댑터의 코드입니다 :

public class ContestantsPhotoAdapter extends BaseAdapter { 

    private LayoutInflater myInflater; 
    private Bitmap[] bitmapList; 


    public ContestantsPhotoAdapter(Context c) { 
     myInflater = LayoutInflater.from(c); 
    } 

    public void setData(Bitmap[] bmImages){ 
     bitmapList = bmImages; 

     Log.i("ContestantsPhotoAdapter", "Images passed to the adapter."); 
    } 

    @Override 
    public int getCount() { 
     return bitmapList.length; 
    } 

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

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

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

     if (convertView == null) { 
      convertView = myInflater.inflate(R.layout.grid_contestantsphoto, null); 
      holder = new ViewHolder(); 
      holder.ivIcon = (ImageView) convertView.findViewById(R.id.imvContestantsPhoto_icon); 

      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.ivIcon.setImageBitmap(bitmapList[position]); 

     return convertView; 
    } 

    static class ViewHolder { 
     ImageView ivIcon; 
    } 
} 

grid_contestantsphoto.xml은 다음과 같습니다

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

<ImageView 
    xmlns:android     = "http://schemas.android.com/apk/res/android" 
    android:id      = "@+id/imvContestantsPhoto_icon" 
    android:layout_width   = "wrap_content" 
    android:layout_height   = "100dip" 
    android:contentDescription  = "@string/menu_contentdescription" /> 

내 문제는 내가 android:layout_height = "100dip"을 변경할 때 적용되지 않습니다 항상 높이가 이전과 동일하다.

사이즈를 줄이는 방법을 알려주세요. 고맙습니다.

답변

0

나중에 참조하십시오. 어댑터 코드를 다음과 같이 변경했습니다.

public void setData(Bitmap[] bmImages){ 
     bitmapList = bmImages; 

     for(int i=0; i < bitmapList.length; i++){ 
      bitmap = bitmapList[i]; 
      bitmap = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(), bitmap.getWidth(), false); 
      bitmapList[i] = bitmap; 
     } 
     Log.i("ContestantsPhotoAdapter", "Images passed to the adapter."); 
    } 

이제 이미지 높이가 너비와 같습니다.

0

이 사실은 저에게 효과적입니다. 이것을 시도하십시오!

<ImageView 
     android:id="@+id/productImage" 
     android:layout_width="100px" 
     android:layout_height="100px" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:scaleType="fitCenter" 
     android:layout_marginRight="10dip" 
     android:adjustViewBounds="true" 
     android:src="@drawable/loading" /> 
+0

감사하지만 유감스럽게도 효과가 없었습니다. 여전히 높이는 원래의 높이와 같습니다. – Hesam

+0

다시 한 번 감사드립니다. 아무 효과가 없으므로 올바른 방법이 아닙니다. – Hesam

관련 문제