如何在gridview中使图像更大

时间:2015-01-09 08:44:08

标签: android gridview

我试图用图像显示两列gridview。我遇到的问题是:

  • 如何在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

中的imageview和textview
<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

enter image description here

1 个答案:

答案 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" />