제가 말하는 갤러리라는것이 안드로이드 갤러리 바둑판모양이아니라
한줄로 슬라이드하면서 보는 그런 갤러리를 말하는 겁니다
제가 만들고 싶은 앱은
gravity:top주고 갤러리를 위에 1줄
gravity_bottom주고 갤러리를 아래에 1줄 나열하고
각각 이미지를 선택하면 ImageView로 가운데에 두개의 이미지가 합쳐진 마크가 나오게 하는 것입니다
지금 어떤상황이냐면
그래비티를주어도 갤러리가 가운데에뜨고 그것마저도 갤러리1은 안나오고 갤러리2만 나오는 것입니다...
그리고 이미지뷰도 가운데고뭐고 갤러리 바로 오른쪽에 나타납니다ㅠㅠ
xml과 java소스를 보여드릴게여 무엇이 잘못되었는지 알려주시면 감사하겠습니다...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:background="@drawable/pic01">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top" >
<Gallery
android:id="@+id/gallery1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top" />
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom" >
<Gallery
android:id="@+id/gallery2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
package com.mycompany.myapp;
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.AdapterView.OnItemClickListener;
public class a extends Activity
{
Integer[] images = {R.drawable.pic1, R.drawable.pic2, R.drawable.pic6 };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.a);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
ImageView imageView = (ImageView) findViewById(R.id.image1);
imageView.setScaleType(ImageView.ScaleType.FIT_START);
imageView.setImageResource(images[position]);
}
});
}
public class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context c) {
context = c;
}
public int getCount() {
return images.length;
}
public Integer getItem(int position) {
return images[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(getItem(position));
imageView.setAdjustViewBounds(true);
imageView.setLayoutParams(new Gallery.LayoutParams(100, 80));
return imageView;
}
}
}
public class a extends Activity // 걍 복붙햇는데 이렇게해도 둘다되는건지 궁금하네여
{
Integer[] images = {R.drawable.pic3, R.drawable.pic4, R.drawable.pic5 };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.a);
Gallery gallery = (Gallery) findViewById(R.id.gallery2);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
ImageView imageView = (ImageView) findViewById(R.id.image2);
imageView.setScaleType(ImageView.ScaleType.FIT_END);
imageView.setImageResource(images[position]);
}
});
}
public class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context c) {
context = c;
}
public int getCount() {
return images.length;
}
public Integer getItem(int position) {
return images[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(getItem(position));
imageView.setAdjustViewBounds(true);
imageView.setLayoutParams(new Gallery.LayoutParams(100, 80));
return imageView;
}
}
}