package pkg.project_n1;
import android.content.*;
import android.graphics.*;
import android.view.*;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.*;
class MainIconAdapter extends BaseAdapter{
 private Context mContext;
 private int[] mImageIds={
   R.drawable.photo,
   R.drawable.iradio,
   R.drawable.music,
   R.drawable.movie,
   R.drawable.setup,
 };
 private int[] mImageIds_f={
   R.drawable.photo_f,
   R.drawable.iradio_f,
   R.drawable.music_f,
   R.drawable.movie_f,
   R.drawable.setup_f,
 };
 public MainIconAdapter(Context c){
  mContext = c;
 }
 @Override
 public int getCount() {
  // TODO Auto-generated method stub
  return mImageIds.length;
 }
 @Override
 public Object getItem(int pos) {
  // TODO Auto-generated method stub
  return mImageIds[pos];
 }
 @Override
 public long getItemId(int pos) {
  // TODO Auto-generated method stub
  return pos;
 }
 @Override
 public View getView(final int pos, View convertView, ViewGroup parent) {
  // TODO Auto-generated method stub
  View MyView = convertView;
  if(convertView == null){
   
   LayoutInflater li = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
         MyView = li.inflate(R.layout.mainicon, null);
         /*
         TextView tv = (TextView)MyView.findViewById(R.id.mainicon_text);
         switch(pos)
         {
         case 0:         tv.setText(R.string.photo);         break;
         case 1:         tv.setText(R.string.iradio);         break;
         case 2:         tv.setText(R.string.music);         break;
         case 3:         tv.setText(R.string.movie);         break;
         }
         */
         
         final ImageView iv = (ImageView)MyView.findViewById(R.id.mainicon_image);
         /*
         iv.setImageResource(mImageIds[pos]);
         iv.setAdjustViewBounds(true);
         iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
         iv.setPadding(8,8,8,8);
         iv.setBackgroundColor(Color.BLACK);
         */
         
         iv.setImageResource(mImageIds[pos]);
   iv.setAdjustViewBounds(true);
   iv.setScaleType(ImageView.ScaleType.FIT_CENTER);   
   iv.setPadding(8,8,8,8);
   iv.setBackgroundColor(Color.BLACK);
   
   iv.setOnTouchListener(new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
     // TODO Auto-generated method stub    
     if(event.getAction() == MotionEvent.ACTION_UP)
     {
      iv.setImageResource(mImageIds[pos]);
     // return true;
     }
     if(event.getAction() == MotionEvent.ACTION_DOWN){
      iv.setImageResource(mImageIds_f[pos]);
     }
     return true;
    }
   });   
   
   
   //iv.setLayoutParams(new Gallery.LayoutParams(136, 88));  
     }
  return MyView;
 }
}

 

이제 공부한지 2주차되는 초봅니다..;

갤러리뷰에 이미지를 보여주되.. 이미지를 터치했을때 눌렸다라는 표시를 해줄려고 위처럼 이미지를 순간 바꿔줄려고 합니다..

근데 위의 코드대로 하면은 이미지가 바뀝니다..

대신 이미지를 선택한 상태로 드래그가 안됩니다.. 이미지가 아닌 빈공간을 드래그하면 되구요..

오늘 반나절 이것때문에 고민만하고 있습니다..ㅠㅠ