0

ページ カール プロジェクトを github にダウンロードし、gridview を使用してプロジェクトに適用しました。グリッドビューで画像をクリックすると、バンドルを使用してグリッドビューからフルビュー アクティビティに ID を渡す画像の配列がある別のアクティビティに移動します。ページカールアニメーションを使用してフルビューで画像間をスライドさせたいので、別の画像を見るためだけにグリッドビューに戻る必要はありません。しかし、整数を ARRAYLIST に渡すことはできません。スニペットは次のとおりです。

これは、このリンクの私の pagecurl アダプターです: http://pastebin.com/JCq2YD6r

私のグリッドビューのベースアダプターは次のとおりです。

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public Integer[] mThumbIds = {
            R.drawable.r01,R.drawable.r02
            ,R.drawable.r03,R.drawable.r04,
            R.drawable.r05,R.drawable.r06,
            R.drawable.r07,R.drawable.r08,
            R.drawable.r09,R.drawable.r10,
            R.drawable.r11,R.drawable.r12



    };
    public ImageAdapter(Context c){
        mContext = c;
    }
    public int getCount() {
        // TODO Auto-generated method stub
        return  mThumbIds.length;
    }

    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return mThumbIds[position];
    }

    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        ImageView imageView;

        SharedPreferences app_preferences = 
                PreferenceManager.getDefaultSharedPreferences(MainTab.current_act);
        int dpw = app_preferences.getInt("dpiw", 0);

        Log.i("IMmmm" , "" + dpw);
//      if (convertView == null) {  
         imageView = new ImageView(mContext);
         imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setImageResource(mThumbIds[position]);


//        int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, parent.getResources().getDisplayMetrics());
//        int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 175, parent.getResources().getDisplayMetrics());

        final float scale = parent.getResources().getDisplayMetrics().density;
        int width = (int) (100 * scale + 0.5f);
        int height = (int) (150 * scale + 0.5f);
        Log.i("with h " , ""+width + "  " + height + "   scale   " + scale );

        imageView.setLayoutParams(new GridView.LayoutParams(width, height));
        //}

//      } else {
//          imageView = (ImageView) convertView;
//        }

        return imageView;
    }


}

ページカールアダプタで変更したい部分です

    // Create pages
    mPages = new ArrayList<Bitmap>();
    mPages.add(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
    mPages.add(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));

ビットマップであるこの配列リストに整数の配列を渡すにはどうすればよいですか? ところで、これを何と呼びますか?配列リスト?それはビットマップの配列リストですか?? :)

4

1 に答える 1

0

この例を確認してください:http://devappandroid.com/android-beginner/page-curlturn-effect-android

// Create pages
    mPages = new ArrayList<Bitmap>();
    mPages.add(BitmapFactory.decodeResource(getResources(),
            R.drawable.page1));
    mPages.add(BitmapFactory.decodeResource(getResources(),
            R.drawable.page2));
    mPages.add(BitmapFactory.decodeResource(getResources(),
            R.drawable.page3));
    mPages.add(BitmapFactory.decodeResource(getResources(),
            R.drawable.page4));
于 2012-11-28T17:09:36.577 に答える