2013-04-27 4 views
2

나는 Imageview을 사용하여 레이아웃 위에 비트 맵을 오버레이하려했습니다.
내가 볼 수있는 것에서.ImageView src vs background

  • 나는 내가 그것을

내 딜레마 늘어나는 것과됩니다 android:background로 사용하는 경우 레이아웃

  • 다루 늘어나는 것과되지 않습니다 android:src로 (9 패치 인) 비트 맵을 사용하는 경우 level-list 리소스에 9 패치를 사용하고 setImageLevel()을 사용하여 올바른 패치를 선택하고 싶습니다.

    • setImageLevel은 어떻게 9 패치도 늘어나는 것과받을 수 있나요하지만 레벨 목록에서 또한 선택 android:src과하지

    android:background 작동?

  • +0

    android : scaleType = "fitXY"를 ImageView에 사용해보세요. –

    +0

    @SagarWaghmare 방금 조언을 드렸습니다. 비트 맵의 ​​크기를 조정하지만 9 패치가 늘려서는 안되기 때문에 원시 크기로 조정합니다. – ilomambo

    +0

    LevelViewDrawable background = (LevelListDrawable) findViewById (R.id.image) .getBackground() ImageView의 배경으로 '레벨 목록'드로어 블을 사용하는 것을 멈추게하는 요소는 없습니다. ; background.setLevel (1);' – Luksprog

    답변

    2

    당신은 당신의 level-list 드로어 블을 사용할 수를 설정

    myView.setImageLevel(level); 
    

    . 는 XML의 이미지 뷰에서

    LevelListDrawable background = (LevelListDrawable) findViewById(R.id.image).getBackground(); 
    background.setLevel(1); 
    
    1

    좋은 답변이 나올 때까지 표시됩니다. 지금 내가 어떻게하는지 나눌 게. 대신 사용하는 코드에서
    : 난 그냥 거기에 배경

    switch(level) { 
    case 0: 
        myView.setBackgroundResource(R.drawable.bg0); 
        break;  
    case 1: 
        myView.setBackgroundResource(R.drawable.bg1); 
        break; 
        . . . 
    } 
    
    0

    의 추가 시도 : 그 당김 당신은 사용합니다 원하는 값으로 레벨을 설정 (적절한 당김을 선택할 수 있도록)의 ImageView의 배경이 될 것입니다 속성 :

    android:scaleType="fitXY"