私はGridView
このようなものを持っています( main.xml
):
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="100dp"
android:gravity="center"
android:numColumns="2"
android:stretchMode="columnWidth"
android:background="@color/black"
android:horizontalSpacing="5dp"
android:verticalSpacing="5dp" >
</GridView>
そして、GridView
このようなアイテム( grid.xml
):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridItemLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:gravity="center"
android:background="@color/white" >
<ImageView
android:id="@+id/grid_item_image"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginRight="10dp"
android:src="@drawable/person" >
</ImageView>
<TextView
android:id="@+id/grid_item_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/grid_item_image"
android:text="@+id/label"
android:layout_alignLeft="@id/grid_item_image"
android:layout_alignRight="@id/grid_item_image"
android:layout_marginTop="5dp"
android:textSize="15dp"
android:gravity="center"
android:textColor="@color/black" >
</TextView>
</RelativeLayout>
には 2 行の項目しかないGridView
ため、2 行で画面を正確に埋め、空のスペースを残さず、画面の高さを超えないようにしたいと考えています。完全に表示するにはスクロールが必要です。これを行うために、私はこれを行いました( GridViewActivity.java
):
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
width = metrics.widthPixels;
height = metrics.heightPixels;
そして私のアダプタ(ImageAdapter.java
)で:
gridView = new View(context);
gridView = inflater.inflate(R.layout.grid, null);
gridView.setMinimumHeight(GridViewActivity.height/2);
gridView.setMinimumWidth(GridViewActivity.width/2);
これは私が望むものを与えません:
2行目が完全に見えていないことがわかります
次のように、これらの 2 行を画面に正確に合わせる方法、またはGridView
アクティビティが呼び出されたときにディスプレイを中央に配置する方法を教えてください。