2011-11-17 4 views
0

나는 화면 상단에 이미지를 배치하고 하단에는 텍스트를 배치하는 xml 레이아웃이 있습니다. 사이 두에서 나는 이미지와 같은 크기 이에 대한안드로이드 레이아웃 매개 변수 'MATCH_PARENT'실제 값 얻기

추론을 모두 채우는 갤러리 위젯을 가지고, 내가 .setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)를 호출 할 수 있습니다 및 갤러리의 이미지를 완벽하게 이미지와 텍스트 inbetween 공간에 맞는 것입니다.

내가 겪고있는 문제는 이미지가 너무 커지는 것을 원하지 않는다는 것입니다. 작은 해상도의 경우, 부모를 채우는 것이 좋습니다. 해상도가 증가하면 이미지가 너무 커져 약 200-300dp의 '뚜껑'이 필요합니다.

LayoutParam.MATCH_PARENT의 정수 값을 가져 오는 방법이 있습니까? 비교를 수행하고 크기를 제한 할 수 있습니다.

편집 - 코드

 <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/chooseanimage" /> 

     <RelativeLayout 
      android:id="@+id/rlayout1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 

        <com.google.ads.AdView android:id="@+id/adView" 
         android:layout_width="wrap_content" 
         android:layout_height="50dp" 
         ads:adUnitId="--" 
         ads:adSize="BANNER" 
         ads:testDevices="TEST_EMULATOR,00" 
         ads:loadAdOnCreate="true" 
         android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
         /> 


        <Gallery 
         android:id="@+id/gallery" 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:layout_below="@id/imageView1" 
         android:layout_above="@id/adView" 
         /> 

     </RelativeLayout> 
     </LinearLayout>     

와 자바가

public View getView(int position, View convertView, ViewGroup parent) { 
    if(!(convertView instanceof ImageView)){ 
     convertView = new ImageView(this.myContext); 
     convertView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT)); 
     convertView.setBackgroundResource(imageBackground); 
     ((ImageView) convertView).setScaleType(ImageView.ScaleType.FIT_XY); 
    } 
    ((ImageView) convertView).setImageResource(this.myImageIds[position]); 
    return convertView; 
} 

답변

0

match_parent 속성은 표면이 만들어 질 때 사용되는 것으로 생각합니다. 그 전에는이 속성의 정수 값은 -1이며 의미가 없습니다. 내가 아는 한, 표면이 만들어지면 어떤 가치를 얻을 수있는 방법이 없습니다.

0

왜 당신이 이미지 뷰에 scaleType 매개 변수를 사용하지?

+0

CENTER_INSIDE가 어느 정도 작동한다고 생각합니다. 그러나 이미지는 여전히 상당히 큰 갤러리 프레임 안에 있습니다. 갤러리 내부의 이미지가 아닌 갤러리의 크기를 제한하려고합니다. – Wozza

+0

레이아웃 코드를 질문에 넣을 수 있습니까? 나는 그것을 잘 그림 수 없습니다 .. – SERPRO

+0

완료. 해결책이 단지 작은, 보통의 큰 해상도를위한 다른 xml 파일을 가지고 갤러리의 크기에 대한 dp 값을 지정하는 것이 아닌지 궁금해지기 시작했습니다. – Wozza