0

私の問題は、グリッドビューの画像が 200x500 と言われていますが、各グリッド領域が 500x500 であることにあります (これらは正確ではない例です)。静的で変化しない 2x4 グリッドがあります。android:verticalspacing を設定することで水平方向の間隔を変更できますが、さまざまなサイズの画面であらゆる種類の問題が発生します。できれば、各グリッドを画像に合わせて縮小し、画面サイズ全体で動的にしたいと考えています。以下は私のGridviewアダプターとレイアウトxmlです

public class MainAdapter extends BaseAdapter {
    private Context mContext;

    // Keep all Images in array
    public Integer[] mThumbIds = {
            R.drawable.install, R.drawable.wipe,
            R.drawable.backup, R.drawable.restore,
            R.drawable.mount, R.drawable.settings,
            R.drawable.advanced, R.drawable.reboot
    };

    // Constructor
    public MainAdapter(Context c){
        mContext = c;
    }

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

    @Override
    public Object getItem(int position) {
        return mThumbIds[position];
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);
        imageView.setImageResource(mThumbIds[position]);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        return imageView;
    }

}

XML:

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <LinearLayout
        android:id="@+id/bottom_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">

        <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        ads:adSize="BANNER"
        ads:adUnitId=""
    />
        </LinearLayout>


    <GridView 
        android:id="@+id/grid_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:numColumns="2"
        android:columnWidth="90dp"
        android:horizontalSpacing="2dp"
        android:verticalSpacing="10dp"
        android:gravity="center"
        android:stretchMode="columnWidth"
        android:layout_above="@id/bottom_view" >  

    </GridView>
    </RelativeLayout>
4

0 に答える 0