2015-01-22 1 views
0

섹션 머리글과 내용이있는 listview을 사용하는 응용 프로그램을 만들고 있습니다. 각 머리글에 대해 이미지를 사용하고 싶지만보기가 높이를 설정 한 값이 아닌 이미지의 높이로 설정되어 있습니다. 이것은 내 어댑터에 있습니다안드로이드 고정 높이 목록 항목 사진

@Override public View getView(int position, View convertView, ViewGroup parent) { 
     TextView view = (TextView) super.getView(position, convertView, parent); 
     view.setTextColor(Color.DKGRAY); 
     Item item = getItem(position); 
     if (item.type == Item.SECTION) { 
      if (position == 0) { 
       view.setBackgroundResource(R.drawable.myImage); 
       view.setHeight(400); 
       view.setMaxHeight(400); 
      } 
      else { 
       //deal with other views 
      } 
     } 
     return view; 
    } 

은 그냥 사진으로 목록의 첫 번째 항목을 설정하여이 테스트를 해요,하지만 난 말했듯이, 뷰는 높이로 400 픽셀을 사용하지 않습니다. else 블록에서 높이를 같은 방식으로 설정하고 배경을 색상으로 설정하면 잘 동작합니다. 필자는 필자가보기에 전체 이미지의 프레임을 보여주고 스크롤 효과를 추가하기를 원하기 때문에 그림을 수동으로 크기 조정하는 것을 피하기를 원한다.

답변

0

나는 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 이미지가있는 경우 400 픽셀 만 표시하고 그렇지 않은 경우 작게 표시 하시겠습니까? 가지고있는 코드로 이미지가 보여 집니까?

나는 즉시 다음과 같은 코드를 재 작성하려면 :

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    convertView = new TextView(mContext); // where mContext = context; appears in the adapter constructor 
    convertView.setTextColor(Color.DKGRAY); 
    Item item = getItem(position); 
    if (item.type == Item.SECTION) { 
     if (position == 0) { 
      convertView.setBackgroundResource(R.drawable.myImage); 
      convertView.setHeight(400); 
      convertView.setMaxHeight(400); 
      //need something like convertView.setText((String) item); to get text to show 
     } 
     else { 
      //deal with other views 
     } 
    } 
    return convertView; 
} 

나는 행에 대한 레이아웃을 정의하기 위해 XML을 사용하는 것이 좋습니다 것입니다. 행 모양을 훨씬 쉽게 사용자 정의 할 수 있습니다.

+0

그래, 내가 400px라고 말하는 높이를 설정할 때조차도보기가 실제로 1000px와 같은 이미지 높이를 사용합니다. –

+0

그리고 400px로 축소하지 않고 상단 400px를 사용하고 싶습니까? – TTransmit

+0

오른쪽 위 또는 아래 –