2017-12-12 23 views
0

각 셀의 ImageView 너비와 높이에 따라 너비와 높이를 조정하는 gridview를 만들려고합니다. 내 스크립트는 그런 식으로 작동하지 않는 것 같습니다. 나는 내가 뭘 잘못하고 있는지 알 수 없다. 내가하려는 일의 샘플 이미지를 첨부했습니다. 이 스크린 샷은 Google Play 스토어의 애플리케이션에서 가져온 것입니다. enter image description here내부의 데이터에 따라 높이와 너비를 래핑하는 GridView 만들기

여기에 여기에 어댑터 클래스 다운로드 이미지 내의 getView 방법은

데이터

<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에서 그것을 채울의 GridView을 가지고 내 .XML 파일입니다. 나는 서버에서 이미지를 다운로드하기 위해 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

그래, 내가 너의 요점을 봤어, 내가 편집 했어. 나는 또한 런타임에 내 gridview 내부 사용하여 내 ImageView wrap_content 사용하여 시도했다. 그러나 gridView 셀은 내부의 이미지에 따라 너비와 높이를 조정하지 않는 것 같습니다. 런타임시 어떤 크기의 이미지가 다운로드 되더라도 상관 없습니다. 내 girdview 셀을 자신의 크기가 조절 된 이미지로 조정하려면 – Moin5262

+0

셀을 조정하거나 전체 눈금을 원하십니까? 그리드에 match_parent가 있으므로 더 작거나 커지지 않습니다. 잘못된 레이아웃의 스크린 샷을 표시하십시오. – elmorabea

답변

0

이미지가보기 너비를 채우지 않는 것은 기본적으로 휴대 전화/태블릿 너비보다 작기 때문입니다.

기본적으로 ImageViewscaleType을 변경해야합니다.

사용 FIT_XY은 트릭을 할 것입니다,하지만 이미지를 늘릴 수도, 당신은 또한 CENTER_CROP, CENTER_INSIDE 또는 FIT_CENTER을 시도 할 수 있습니다.

당신은에 true로 android:adjustViewBounds을 설정해야 할 수 있습니다 귀하의 ImageView

+0

조언 해 주셔서 감사합니다. 빈 공간을 채우는 데 정말로 도움이되었습니다. – Moin5262

0

당신이 here 내가 발견 무엇 비틀 그리드 레이아웃에 대해 구글에서 검색 할 수 있습니다 비틀 그리드보기로보기를 만들려고합니다.

+0

이 GridView는 좋은 것처럼 보입니다. 분명히 이것에 대해 살펴볼 것입니다. 공유 해 주셔서 대단히 감사합니다. – Moin5262