2017-01-23 3 views
0

У меня два изображения. В одном - это число, другое - тень. Мне нужно показать эти два изображения, как видно на второй фотографии.Кнопка нажата и два изображения xml android

Это мой код. Сейчас он показывает только или число (когда не нажато), или тень (при нажатии).

Как можно показывать оба изображения, когда пользователь нажимает кнопку?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_select" android:state_pressed="true" 
     android:alpha="0.75"/> 
    <item android:drawable="@drawable/number_1" android:state_enabled="true" /> 

    <item android:drawable="@drawable/number_1" android:state_pressed="false" 
     /> 
</selector> 

this are the two images

this is the goal

Также я пытался с помощью layerDrawable таким образом, но не получилось:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_select" android:state_pressed="true" 
     android:alpha="0.75"/> 
    <item android:drawable="@drawable/number_1" android:state_enabled="true" /> 
</selector> 

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

    <item android:drawable="@drawable/number_1" android:state_pressed="false" 
     /> 
</selector> 
</layer-list> 
+0

Просьба представить изображений. –

+0

@AbhriyaRoy извините, теперь да – baldcl

ответ

0

Вы должны использовать два разных изображения ...

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/pressed_image" android:state_pressed="true"/> 
    <item android:drawable="@drawable/normal_image" android:state_pressed="false"/> 
</selector> 
+0

Я знаю, спасибо, но мне нужно показать два изображения при нажатии, а одно, когда ложно, я загружаю изображения с помощью модели, которую мне нужно выполнить. – baldcl

+0

Как вы хотите отображать два изображения при нажатии кнопки? –

+0

Вам нужно создать еще один способ рисования с использованием списка слоев. то он будет работать. –

0

Вы можете использовать Relative Layout для того

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/iv_background" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/button_select"/> 
    <ImageView 
     android:id="@+id/iv_img" 
     android:layout_width="wrap_content" 
     android:padding="5dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/number_1"/> 

</RelativeLayout> 

Просто измените образ iv_img ID УДАЧИ

+0

gosavi спасибо, но мне нужно использовать он как кнопка, когда пользователь нажимает, необходимо изменить текущее изображение. – baldcl

+0

вы можете сделать это с помощью этого кода просто измените андроид: id = "@ + id/iv_img" image Что бы вы ни пожелали, а также установить селектор, подбираемый к этому изображению, android: id = "@ + id/iv_background" is shadow остается таким же для всех –

0

измените Drawable файл селектор с этим кодом ..

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true"> 
    <layer-list> 
     <item android:drawable="@drawable/number_1" /> 
     <item android:bottom="@dimen/margin_5" android:left="@dimen/margin_5" android:right="@dimen/margin_5" android:top="@dimen/margin_5"> 
      <bitmap android:src="@drawable/button_select" /> 
     </item> 
    </layer-list> 
</item> 
<item android:drawable="@drawable/number_1" android:state_pressed="false"/> 

Ограничение:

Он может использовать для одного изображения числа ..для нескольких номеров вы должны создавать различные selector.xml для каждого из них ..

Пожалуйста скажите, если нужно больше объяснений или помочь ..

+0

спасибо! это делаю то, что я искал !! , по-прежнему остается небольшая проблема, когда я нажимаю кнопку и показывает два изображения, число становится больше, чем раньше, возможно ли оставаться «number_1» с тем же размером? – baldcl

+0

изменить поле этой строки на большее, как вам нужно ...

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