13
私はここに新しいユーザーであり、カスタムスクロールビューを要求する作業中のAndroidアプリです(下のリンクに表示されています)。最初の画像以外はグリッドビューと非常に似ています。私はgridviewと一緒に大きな画像ビューを追加しようとしました。しかしそれは失敗する。誰でも何か提案がありますか?gridviewの最初の項目の大きな画像android
私はここに新しいユーザーであり、カスタムスクロールビューを要求する作業中のAndroidアプリです(下のリンクに表示されています)。最初の画像以外はグリッドビューと非常に似ています。私はgridviewと一緒に大きな画像ビューを追加しようとしました。しかしそれは失敗する。誰でも何か提案がありますか?gridviewの最初の項目の大きな画像android
が、私は以下のコード使用して画像次取得するために疥癬:
私は完全に動作するアプリケーションを掲載するこのblog:
// please check this part.
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
ImageView imageView;
if(arg1==null){
imageView = new ImageView(DemoGridViewActivity.this){
@Override
protected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
}
};
}else{
imageView = (ImageView) arg1;
}
imageView.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
imageView.setBackgroundColor(Color.BLUE);
imageView.setScaleType(ScaleType.FIT_XY);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//according to the position return proper imageview with bitmap
//for case 0 - top-left part
//for case 1 - top-right
//for case 5 - bottom-left
//for case 6 - bottom-right
switch(arg0){
case 0:
imageView.setImageBitmap(Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth()/2, bitmap.getHeight()/2));
imageView.setBackgroundColor(Color.RED);
return imageView;
case 1:
imageView.setImageBitmap(Bitmap.createBitmap(bitmap, bitmap.getWidth()/2, 0, bitmap.getWidth()/2, bitmap.getHeight()/2));
imageView.setBackgroundColor(Color.GREEN);
return imageView;
case 5:
imageView.setImageBitmap(Bitmap.createBitmap(bitmap, 0, bitmap.getHeight()/2, bitmap.getWidth()/2, bitmap.getHeight()/2));
imageView.setBackgroundColor(Color.YELLOW);
return imageView;
case 6:
imageView.setImageBitmap(Bitmap.createBitmap(bitmap, bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, bitmap.getHeight()/2));
imageView.setBackgroundColor(Color.MAGENTA);
return imageView;
default:
imageView.setImageResource(R.drawable.ic_launcher);
return imageView;
}
}
}
}
<?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:orientation="vertical" >
<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="5" >
</GridView>
</LinearLayout>
避けるためにコードを移動していますが、断片に固執します、ポイントを作るのにより効果的です。 – JoxTraex
私はこれを説明するためにhttp://sudarnimalan.blogspot.sg/2012/06/android-bigger-image-for-first-item-of.htmlというブログを作成しました。 1. getViewメソッドをチェックする必要があります。2. case 0、case 1、case 5、およびcase 6は、ビットマップの左上、右上、右下、右下、右下の部分を設定するswitch(arg0)を確認します。 。 –
ImageViewで作成したような2つのグリッドビュー項目の間にTextViewを追加するにはどうすればよいですか? – ClarkXP