2011-12-15 29 views
0

私のアプリケーションのgridviewは、グリッドごとに画像とその下にテキストを持っています。 グリッドの完全なリストが画面に収まるようにする必要があります(下部にオーバーフローはありません)。ここで android gridviewは画面にサイズを合わせます

は、私は私のGridViewの

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/gridview" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:numColumns="3" 
     android:stretchMode="columnWidth" 
     android:layout_below="@+id/text1view" 
        android:gravity="center" 
        android:background="@drawable/home_bg" 

           /> 

定義されている方法を、各グリッド項目は次のとおりです。私は、グリッドビューのレイアウトのparamを設定するには、いくつかの方法を試してみました

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/GridItem" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:gravity="center_horizontal" 
    > 

    <ImageView android:id="@+id/grid_item_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="0dip" 
     android:layout_margin="0dip" 
     > 
    </ImageView> 

    <TextView android:id="@+id/grid_item_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
      android:textColor="#000000" 
      android:padding="0dip" 
     android:gravity="center_horizontal" 
     android:layout_below="@+id/grid_item_image" 
     android:layout_alignParentBottom="true" 
     > 
    </TextView> 

</LinearLayout> 

、しかし、私は得ていないのです正しい出力。ここで私を助けてください。 GridViewのアダプターコード

public View getView(final int position, View convertView, ViewGroup parent) { 
    ViewHolder holder; 

    if (convertView == null) { 
     LayoutInflater mInflater = (LayoutInflater) mContext 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = mInflater.inflate(R.layout.griditems, null); 
     holder = new ViewHolder(); 
     holder.text1 = (TextView) convertView 
       .findViewById(R.id.grid_item_text); 
     Log.i(TAG, holder.text1.toString()); 
     holder.image = (ImageView) convertView 
       .findViewById(R.id.grid_item_image); 

     // if it's not recycled, initialize some attributes 
     holder.image.setImageResource(gridItemIds[position]); 
     holder.text1.setText(gridTitles[position]); 
     int h = mContext.getResources().getDisplayMetrics().densityDpi; 
     convertView.setLayoutParams(new GridView.LayoutParams(h-50, h-20)); 
     //holder.image.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     //holder.image.setScaleType(ImageView.ScaleType.FIT_XY); ...... 
+0

uはウルレイアウトが今見てんいくつかのimages.howを表示することができます。 – stella

答えて

0

は、あなたのGridViewの代わりwrap_contentため

android:layout_width="fill_parent" 
android:layout_height="fill_parent" 

を試しています!

0

はこれを試してください: -

grid_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> 
<ImageView android:id="@+id/imgIcon" android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView> 
<TextView android:text="TextView" android:id="@+id/txtDesc" android:layout_height="wrap_content" android:layout_width="wrap_content"></TextView> 
</LinearLayout> 
</LinearLayout> 

gridview.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mobGrid" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="10dp" 
android:verticalSpacing="10dp" 
android:horizontalSpacing="10dp" 
android:numColumns="auto_fit" 
android:columnWidth="60dp" 
android:stretchMode="columnWidth" 
android:gravity="center" 
/> 
</LinearLayout> 
関連する問題