2014-01-15 3 views
2

Я говорю вам, что у меня есть следующий кодКак я могу сжать изображение (ImageView или ImageButton), не потеряв его?

    <ImageButton 
         android:id="@+id/imageButton1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/happy" /> 

enter image description here

Но это слишком большой, и мне нужно, чтобы уменьшить его, но когда я делаю то происходит следующее

enter image description here

    <ImageButton 
         android:id="@+id/imageButton1" 
         android:layout_width="44dp" 
         android:layout_height="41dp" 
         android:src="@drawable/happy" /> 

Вы можете видеть, что части изображения потеряны, как я могу сжать его, если это не произойдет?

+0

Использование wieght в макете –

+0

+1 для этого вопроса, вопрос, который всегда задают многие люди, а также запутанный, но разрешимый. –

ответ

1

Либо вам нужно изменить размер исходного изображения, либо вы можете использовать ImageView (который имеет параметр scaleType) и сделать его интерактивным, например.

<ImageView 
    android:id="@+id/smiley_iv" 
    android:layout_width="44dp" 
    android:layout_height="41dp" 
    android:src="@drawable/happy" 
    android:scaleType="centerInside" 
    android:clickable="true" /> 

В этом случае, вы, вероятно, хотите добавить свой собственный селектор фона (для штампованных состояний и т.д.) и, очевидно, вам нужно добавить OnClick обратного вызова либо через XML или программно.

+0

+1 с моей стороны для вас –

+0

@Damian Спасибо за ваш ответ, мне очень помогли, но когда я делаю то, что вы мне скажете, изображение появится на белом фоне – cheloncio

+0

ImageButton ** is ** a ImageView so downvote – pskink

Смежные вопросы