원형으로 배치한후 가운데는 크게 하고 양 끝으로 갈수록 작아지게 하고 싶은데
겔러리를 어떻게 해야 둥그렇게 되는지( 지금은 일자로만 배치가 되네요;;) 또 둥그렇게 한 후 어떻게 하면 크기를 각각 지정하는지 잘 모르겠습니다.
어떤분께서 getView부분을 수정하면 된다고 하셔서 소스를 분석해봤는데 도저히 어느부분이 크기를 지정하는 부분인지도 잘 모르겠더라구요;;
소스도 첨부합니다.
========================================================================================================
package COM.ANDROID.GalleryTest3;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Gallery.LayoutParams;
public class GalleryTest3 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position,
long id) {
Toast.makeText(GalleryTest3.this, "" + position,
Toast.LENGTH_SHORT).show();
}
});
}
public class ImageAdapter extends BaseAdapter {
int mSelectedPosition = -1;
int mGalleryItemBackground;
private Context mContext;
private Integer[] mThumbIds = { R.drawable.sample_thumb_0,
R.drawable.sample_thumb_1, R.drawable.sample_thumb_2,
R.drawable.sample_thumb_3, R.drawable.sample_thumb_4,
R.drawable.sample_thumb_5, R.drawable.sample_thumb_6,
R.drawable.sample_thumb_7 };
private Integer[] mImageIds = { R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4,
R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7 };
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
a.recycle();
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setAdjustViewBounds(false);
if (position == mSelectedPosition) {
imageView.setLayoutParams(new Gallery.LayoutParams(450, 300));
} else if (Math.abs(position - mSelectedPosition) == 1 && mSelectedPosition != -1) {
imageView.setLayoutParams(new Gallery.LayoutParams(300, 200));
} else if (mSelectedPosition != -1) {
imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
} else {
imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
}
//imageView.setBackgroundResource(R.drawable.ImageView01);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
public void setSelectedPosition(int p) {
mSelectedPosition = p;
}
}
}




갤러리 자체가 둥글게 놓는것은 어렵습니다.
뷰를 직접 구현해야 할겁니다.
제가 둥글게하는게 된다는것은 크기를 조절하여 원근감을 줘서 둥글게 하는 효과를 준다는 말이었습니다.
아이폰의 갤러리도 잘 보면 둥글게 배치하는건 아니고
그냥 가운데것만 크게하고 주변것은 세운것처럼 회전하여 처리하는거라서요...
그리고 크기를 조절하는 부분은 getView의 if문에 크기 조절 하셨는데요...