2013-11-19 4 views
2

Как я могу препятствовать ImageButton растягивать изображение?android ImageButton не растягивает изображение

Используя этот фрагмент:

<ImageButton 
       android:src="@drawable/prediction" 
       android:background="?android:attr/selectableItemBackground" 
       android:gravity="center_horizontal" 
       android:scaleType="centerInside" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:contentDescription="some description" 
       android:text="@string/predict" 
       local:MvxBind="Click ExecuteQueryCmd" /> 

я получаю следующий эффект:

enter image description here

Изображение является 64x64 PNG.

Все, что я хочу, это для ImageButton относиться к собственной ширине и длине, а следовательно, к разрешению изображения, которое оно назначается. Рекомендации, основанные на similar post, - использовать кнопку, установить ее фон на изображение, а затем использовать пользовательские селектора, но это звучит как взломать. Или это правильный способ сделать это?

+0

вы установили свой рост и вес, чтобы обернуть-контент и он по-прежнему streches ?? похоже на странную проблему –

+0

Вы проверили scaleType = "center" –

+0

Я использовал кнопку изображения много в моем приложении. Увидев вашу проблему, я проверил свое приложение, которого нет у меня. Я использую png изображения с прозрачным фоном. –

ответ

4

Это работает для меня с

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:background="@android:color/transparent" 
    android:contentDescription="some description" 
    android:scaleType="centerInside" 
    android:src="@drawable/ci_icon" 
    android:text="@string/predict" 
    local:MvxBind="Click ExecuteQueryCmd" /> 

Поместите изображение в андроида: ЦСИ атрибут

+0

Мое изображение уже находится в android: атрибут src. –

+0

Хорошо, но вы пробовали с кодом/xml выше? – azerto00

+0

Просто сделал и изображение все еще тянется. Разочарование действительно, насколько сложно делать такие простые вещи на Android. Также обратите внимание, что я не могу использовать @android: color/transparent ", потому что кнопка больше не меняет цвет при нажатии. –

0

Установите ширину ImageButtons в fill_parent и использовать scaletype fitStart для изображений, которые обнять левое поле , и fitEnd для тех, что справа. Должен сделать трюк, по крайней мере, насколько ваш пример изображения. У вас могут возникнуть проблемы с интервалом, если пропорциональная ширина изображений превышает ширину экрана, но она должна работать для вас.

0

ли это:

<ImageButton 
       android:src="@drawable/prediction" 
       android:background="?android:attr/selectableItemBackground" 
       android:scaleType="fitXY" 
       android:adjustViewBounds="true" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:contentDescription="some description" 
       android:text="@string/predict" 
       local:MvxBind="Click ExecuteQueryCmd" /> 
Смежные вопросы