0

グリッドビューを作成し、そのグリッドにいくつかの画像を挿入しました。任意の画像をクリックすると全画面表示で開き、右または左にスライドすると画像を切り替える必要があります(別の画像を開く必要があります)これが私がこれまでに行ったコードです

 public class ChaildHood extends Activity
  {    

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.g_view);

    GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(new ImageAdapter(this));

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(ChaildHood.this, "" + position, Toast.LENGTH_SHORT).show();

        }
    });
}

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(10, 10, 10,10);
        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

    // references to our images
    private Integer[] mThumbIds = {
            R.drawable.child,
            R.drawable.child1,
    };
}
}

これはg_viewxmlです:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/gridview"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
4

2 に答える 2

1

ビューのImageResourceを取得し、その結果を使用して、ドローアブルを使用して新しいフルスクリーンビューを作成できます。

それはあなたが自分で理解できたかもしれない何かです。

于 2012-04-27T21:15:54.533 に答える
1

ただし、onclickイベントでは、アイテムの位置がクリックされるため、imageviewを使用して新しいレイアウトファイルを設計するだけで、親の幅と高さが塗りつぶされ、このレイアウトファイルを表示するアクティビティが作成されます。

onclickで、これを呼び出してこのアクティビティを開始し、引数として位置を渡します(バンドルを使用)。アクティビティでは、引数を取得して、目的の画像を表示します。次に、タッチ方式で左にスワイプして右にスワイプするイベントを実行できます。位置の値を増減して、同じアクティビティの画像の配列から新しい画像を表示するだけです。

于 2012-04-28T03:15:10.930 に答える