2

我试图Imageview在布局上覆盖位图。
从我能看到的。

  • 如果我使用位图(这是一个 9 补丁),因为android:src它不会被拉伸以覆盖布局
  • 如果我在android:background它被拉伸时使用它

level-list我的困境是我想在一个资源中使用一堆 9 补丁并使用setImageLevel().

  • setImageLevel 仅适用于android:src而不适用于android:background

如何让 9-patch 也被拉伸但也可以从级别列表中选择?

4

3 回答 3

2

你可以使用你的level-listdrawable。该drawable将成为ImageView您将使用的背景,将级别设置为所需的值(并选择正确的drawable):

LevelListDrawable background = (LevelListDrawable) findViewById(R.id.image).getBackground();
background.setLevel(1);
于 2013-04-29T12:44:08.083 回答
1

直到出现更好的答案。让我分享一下我现在是怎么做的。
在代码中,而不是使用:

myView.setImageLevel(level);

我只是在那里设置了背景

switch(level) {
case 0:
    myView.setBackgroundResource(R.drawable.bg0);
    break;    
case 1:
    myView.setBackgroundResource(R.drawable.bg1);
    break;
    . . . 
}
于 2013-04-27T14:03:35.833 回答
0

在 xml 的 imageview 中,尝试添加属性:

android:scaleType="fitXY"
于 2016-11-29T09:19:01.677 回答