Android ImageButton с LayerDrawable Image - PullRequest
       10

Android ImageButton с LayerDrawable Image

0 голосов
/ 06 февраля 2011

Я пытаюсь отобразить LayerDrawable как изображение ImageButton.Все слои должны иметь разные верхние значения.такие как top += 10;.Для этого я использовал setLayerInset с элементами Drawable слоя, но он растягивал изображения.Я также пробовал с другими параметрами, и он просто отображал другие глупые макеты.

После попытки setLayerInset я использовал InsetDrawable, давая верхнему параметру свой собственный конструктор:

new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop, 0, 0);

на этот раз вершинывыглядит хорошо, но ImageButton отображает очень маленькую область.

Базовая компоновка, скажем, это мое изображение,

*---*
|   |
|   |
 ---

компоновка должна быть,

*---*
|   |
*---*
|   |
*---*
|   |
*---*
|   |
|   |
 ---

1 Ответ

0 голосов
/ 14 февраля 2011

Я установил android:scaleType="fitStart" и изменил строку, как показано ниже, и она работает как шарм.

new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop,0,-layerTop);

Теперь у меня есть еще вопросы,

Сначала, как вы можете видетьЯ создаю новый экземпляр для каждого слоя.Если бы я создал только один объект Drawable и установил его для каждого элемента массива, который будет использоваться для создания LayerDrawable, и использовал бы функцию layerDrawable.setLayerInset для установки свойств top и bottom, это было бы более эффективно.

И другой, если объект LayerDrawable имеет больше элементов больше, чем imageButton, он все еще отображает изображения.Есть ли такие настройки, как CSS overflow:hidden или что-то еще?

Спасибо.

...