私GridView
自身は中心ですが、その内容はその中心にありません。これが画面です。下と右側の水色は、私が設定した背景色ですGridView
。
コンテンツが上と左に押し上げられていることがわかります。GridView
コンテンツ、つまりゲーム ボードを の真ん中に配置し、水色の背景色ですべての側面を均等に囲みたいと思います。
ここに私のXMLがあります:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/textFieldFU"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridView
android:id="@+id/gridview"
android:layout_marginTop="0dp"
android:layout_marginLeft="45dp"
android:layout_marginRight="45dp"
android:layout_width="fill_parent"
android:layout_height="485dp"
android:gravity="center"
android:horizontalSpacing="0dp"
android:numColumns="8"
android:background="@android:color/holo_blue_bright"
android:verticalSpacing="0dp" />
そして、それが役立つ場合getView
は私のImageAdapter
クラスで:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv;
if (convertView != null) {
iv = (ImageView) convertView;
} else {
iv = new ImageView(context);
iv.setLayoutParams(new GridView.LayoutParams(60, 60));
iv.setScaleType(ScaleType.FIT_CENTER);
iv.setPadding(0, 0, 0, 0);
if(position < 8 && position % 2 ==0){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 7 && position < 16 && position % 2 ==1){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 15 && position < 24 && position % 2 ==0){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 23 && position < 32 && position % 2 ==1){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 31 && position < 40 && position % 2 ==0){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 39 && position < 48 && position % 2 ==1){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 47 && position < 56 && position % 2 ==0){
iv.setBackgroundColor(Color.DKGRAY);
}
else if(position > 55 && position < 64 && position % 2 ==1){
iv.setBackgroundColor(Color.DKGRAY);
}
else
iv.setBackgroundColor(Color.GRAY);
}
iv.setImageResource(images[position]);
return iv;
}