2017-12-12 7 views
0

各セルのImageViewの幅と高さに応じて幅と高さを調整するグリッドビューを作成しようとしています。私のスクリプトdoes'ntはそのように動作するようです。私が間違っていることは分かりません。私は何をしようとしているのサンプル画像を添付している。これらのスクリーンショットはGoogle Playストアのアプリケーションから取得したものです。 enter image description here内部のデータに応じて高さと幅をラップするGridViewを作成

は、ここで、ここでデータ

<RelativeLayout 
 
     android:layout_width="fill_parent" 
 
     android:layout_height="fill_parent"> 
 

 
     <TextView 
 
      android:id="@+id/text_view_client_newsfeed_xml" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:gravity="center" 
 
      android:layout_margin="20dp" 
 
      android:layout_centerInParent="true" 
 
      android:text="NO ITEM ADDED YET USE DETAIL BUTTON TO GO FURTHER" 
 
      android:textColor="#FFFFFF"/> 
 
     <GridView 
 
      android:id="@+id/list_view_client_newsfeed_xml" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="match_parent" 
 
      android:layout_margin="10dp" 
 
      android:numColumns="auto_fit" 
 
      > 
 

 
     </GridView> 
 
     
 
     </RelativeLayout>

に移入されますGridViewコントロールを持っている私の.xmlファイルは、画像をダウンロードし、GridViewの中でそれを移入アダプタクラスの私のGetViewメソッドです。私はPicassoを使ってサーバーから画像をダウンロードしています。 '

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     ViewHolderClientNewsFeed holder; 
     if (null == convertView) { 

      holder = new ViewHolderClientNewsFeed(); 
      convertView = inflater.inflate(R.layout.grid_view_images_client_newsfeed, parent, false); 
      holder.newsfeedImage = (ImageView) convertView.findViewById(R.id.imageView_clientNewaFeed); 
      convertView.setTag(holder); 
     } 
     else 
     { 
      holder = (ViewHolderClientNewsFeed) convertView.getTag(); 
     } 

     Picasso.with(context) 
      .load(imageUrls.get(position)) 
      .fit() 
      .into(holder.newsfeedImage); 

     return convertView; 
    } 

「 ここはニュースフィード用の私のリスト行レイアウトです。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:orientation="vertical" android:layout_width="match_parent" 
 
    android:layout_height="match_parent"> 
 
    <ImageView 
 
     android:id="@+id/imageView_clientNewaFeed" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" /> 
 

 
</LinearLayout>

誰かがイムは、間違っているものを指摘してくださいすることができます。私は挿入された画像で何かを達成したい。

+0

イメージビューの幅と高さが固定されていますが、グリッドで何をしても変更されません。どの部分が動的に「折り返す」べきですか? – elmorabea

+0

うん、私はあなたの意見を見て、私はそれを編集しました。また、ImageViewでwrap_contentを使用してみましたが、これは実行時にmy gridviewを使用しています。しかし、gridViewセルは内部の画像に応じて幅と高さを調整するようには見えません。実行時にどのサイズの画像がダウンロードされても同じです。自分のガードビューのセルを自分のサイズの画像として調整したい – Moin5262

+0

セルを調整したい、またはグリッド全体を調整したいのですか?あなたのグリッドはmatch_parentを持っているので、それはどんな小さくも大きくもなりません。間違ったレイアウトのスクリーンショットを表示してください – elmorabea

答えて

0

あなたの画像があなたのビューの幅を満たしていない場合、それは基本的にあなたの電話/タブレットの幅よりも小さいからです。

基本的には、ImageViewscaleTypeを変更する必要があります。

使用FIT_XYは、トリックを行いますが、あなたのイメージを伸ばすかもしれない、あなたもCENTER_CROPCENTER_INSIDEまたはFIT_CENTERを試すことができます。あなたは千鳥グリッドレイアウト hereについてGoogleで検索することができます 、千鳥グリッドビューとしてビューを作成しようとしている場合はあなたがあなたのImageView

+0

あなたの助言をありがとう、それは本当に空きスペースを埋めるのを助けました。 – Moin5262

0

にtrueにandroid:adjustViewBoundsを設定する必要があるかもしれません

は私が見つけたものです。

+0

このGridViewは良いと思われます。私は確かにこれを見ていきます。ありがとうございます。 – Moin5262

関連する問題