我试图用图像显示两列gridview。我遇到的问题是:
我在ImageView.ScaleType
尝试了不同的属性。目前是 CENTER_CROP 。
这是我使用的grdiview.xml
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.1" >
<GridView
android:id="@+id/gridView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="2"
android:columnWidth="80dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:verticalSpacing="4dp"
android:horizontalSpacing="10dp"
android:layout_marginTop="20dp"
android:stretchMode="columnWidth"
android:gravity="center" >
</GridView>
</LinearLayout>
这是tables.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/tableview" >
<ImageView
android:id="@+id/ColPhoto"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignLeft="@+id/ColName"
android:layout_alignRight="@+id/ColName"
android:layout_marginLeft="8dp"
android:scaleType="fitXY"
android:gravity="center"
/>
<TextView
android:id="@+id/ColName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ColPhoto"
android:layout_marginLeft="10dp"
android:gravity="center"
android:text="" />
</RelativeLayout>
getView
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.tables, null);
}
// ColPhoto
ImageView imageView = (ImageView) convertView.findViewById(R.id.ColPhoto);
imageView.getLayoutParams().height = 80;
imageView.getLayoutParams().width = 100;
imageView.setPadding(20, 20, 20, 20);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
我遗漏了一些东西并且不明白到底是什么。这也是目前的样子。图像的实际尺寸为120x120
答案 0 :(得分:1)
在imageView中,您可以在布局中提供以下值。
<ImageView
android:id="@+id/grid_item_icon"
android:scaleType="fitCenter"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="true" />