2014-06-20 5 views
0

이 질문은 꽤 자주 나옵니다. 그러나 모든 예제에서 이미지 src가 XML에 정의되어 있습니다. 예를 들어 android:src="..."ImageButton stretch src to fill

가 재생을 수행하는 하나의 버튼처럼 ImageButton.setImageResource()를 사용하여 활동 전까지 SRC에를 specificy하지 않습니다 내 코드/src에 나중에 정의 될 때 난의 SRC로하여 ImageButton을 채우기 어떻게

을 중지 ? (가) 아래의 제안 사용하려고하면, 문제가 계속 발생 :

나는 ... 그러나 SDK는 문자열을 사용하여 좋아하지 않는다,

enter image description here

UPDATE를 ImageButton.setScaleType="fitXY"을 tryed. 여기 ScaleType을 설정하는 코드 아래 보시기 바랍니다 더 설명이

<ImageButton 
    android:id="@+id/imgStart" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    /> 


public class MainActivity extends Activity{ 

private ImageButton player; 

protected void onCreate(){ 
player = (ImageButton) findViewById(R.id.imgStart); 

... 

if(isPlaying){ 
player.setImageResource(bitmap image); 
} 
else{ 
player.setImageResource(different bitmap image); 
} 
... 
} 
+1

ImageButton 대신 ImageView를 사용하지 않는 이유는 무엇입니까? –

+0

대신 ImageView를 사용할 이유가 없습니다. –

+1

Image becz ImageButton이 이미지의 모든 영역을 채울 수 없다는 것을 보여주기 위해 ImageView를 사용하는 것이 좋습니다. 두 영역 모두를 사용하여 이미지를 표시하려고 시도하지 않는다면 일부 영역 만 남았습니다. –

답변

1

을하는 것입니다, 프로그램

ImageButton object".setScaleType(ScaleType.FIT_XY) 

"하여 ImageButton 객체는"(이 클래스하여 ImageButton 의 목적이어야한다 아마도 xml로 정의했다). 당신은 또한 코드 아래 사용하여 제대로 사용하기 때문에

0
ImageButton.setScaleType="fitXY" 

가 네이 작동하지 않습니다 이런 식으로

ImageButton object.setScaleType(ScaleType.FIT_XY) 
코드에서 대신 fitXY의

사용 ScaleType.FIT_XY를 수행 다음과 같이 setAdjustViewBounds를 true로 설정해야합니다.

player.setAdjustViewBounds(true); 
player.setScaleType(ScaleType.FIT_XY); 

노력하겠습니다!

2

사용 ScaleType.CENTER_CROP 대신

플레이어 .setScaleType (ImageView.ScaleType.CENTER_CROP);

CENTER_CROP가 fit_xy로 작동하는 것 같습니다. 그러나 이유는 확실하지 않습니다.