2012-06-01 3 views
0

Я хочу добавить изображение, а также текст внутри кнопки, как показано ниже. My custom buttonПользовательская кнопка с изображением и текстом?

Если я даю это как фон, он будет ухудшаться в зависимости от размера экрана для разных телефонов. Поэтому я хочу настроить пользовательский макет, где изображение кнопки информации останется в том же пикселе, а информационные буквы - как отдельные. Так что я получу точный прогноз без искажения изображения.

+0

проверить мой ответ !! –

+0

@K_Anas - Я знаю это. Но выталкиваемый левый был тем, что я смотрел .. thanku .. –

+0

вы также можете использовать android: drawablePadding = "5dp", чтобы получить дополнение вокруг drawable, которое вы задали в атрибуте leftable leftable –

ответ

2

Вы можете указать фоновое изображение, '!' значок и текст отдельно:

<Button 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background="@drawable/background" 
android:drawableLeft="@drawable/icon" 
android:text="info" /> 
0

Вам необходимо устроиться 3 вещи в виджетах вашей кнопки: background image, info icon and text. Для этих целей:

android:background="backgroundImage" 
android:drawableLeft="info icon" 
android:text="text" 
1

Используйте 9 патчей для фона, используйте обычную кнопку, используйте левую картинку слева для изображения. Это лучший способ для вашего дела.

Проверьте this для 9-патча. Это позволит вам создать фон с закругленными углами, как вам нужно, без перекоса.

Итак, у вас будет нормальная кнопка с фоном, который вы получили от 9-патча, и drawableLeft, который вы установили.

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

1

Вы можете использовать эти три вытяжку для назвать фон файл backround.xml в вашем разрешении/вытяжке папки этого файл будет обрабатывать ваш butoon Backround на различном состоянии нажимается, целенаправленная и нормально:

эти три 9- патч вытяжке, что вы можете использовать:

enter image description here

enter image description here

enter image description here

backround.xml является:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item  
     android:state_pressed="true"  
     android:state_enabled="true" 
        android:drawable="@drawable/btn_orange" /> 
    <item  
     android:state_focused="true"  
     android:state_enabled="true" 
        android:drawable="@drawable/btn_orange" /> 

    <item  
     android:state_enabled="true" 
        android:drawable="@drawable/btn_black" /> 
    <item  
     android:state_enabled="false" 
        android:drawable="@drawable/btn_red" /> 
</selector> 

Ваша кнопка XML будет выглядеть следующим образом:

<Button 
     android:id="@+id/my_btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:drawableLeft="@drawable/myIcon" 
     android:drawablePadding="5dp" 
     android:paddingLeft="10dp" 
     android:text="info" 
     android:background="@drawable/background" /> 
Смежные вопросы