2012-04-07 7 views
0

私の活動ではいくつかの画像を表示する必要があります。私は自分のアクティビティでgridviewを使い、各行は4つのイメージを表示する必要があります(各イメージの幅は画面の25%です)。私は同じサイズの画像の高さを幅で減らす必要があります。Android、画像アダプタの画像の高さをいかに縮める?

私のUIでは、私はgridviewを持っていて、私の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

関連する問題