просмотр изображений на Android - PullRequest
26 голосов
/ 16 февраля 2010

Я думаю, это довольно странный вопрос, но я попытался установить onClicklistener в ImageView, и он сработал. Но проблема в том, что пользователь не может чувствовать щелчок. Я имею в виду, что если некоторые из вас работали с другими мобильными средами (например, Apple iPhone), то когда мы нажимаем на изображение в других средах, это оказывает влияние на изображение, чтобы пользователь мог понять, что на изображение было нажано. *

Я попытался установить альфа с использованием метода setalpha, но он не работает. Хотя то же самое хорошо работает с реализацией onFocusListener. Может ли кто-нибудь1 предложить другой способ изменить изображение при клике ...

Я новичок в Android, поэтому еще не изучил нюансы простой анимации ... если есть какая-то простая анимация, которую я могу использовать для нее, пожалуйста, дайте мне знать.

Спасибо!

Ответы [ 4 ]

75 голосов
/ 23 февраля 2010
   <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.5"
android:duration = "300">
</alpha>
<scale
android:fromXScale = "1"
android:toXScale = "0.9" 
android:fromYScale = "1"
android:toYScale = "0.9" 
android:pivotX="50%"
android:pivotY="50%" 
android:duration = "50">
</scale>
</set>

Я не знаю, является ли это правильным методом, но определение анимации, как упомянуто, добилось цели. Теперь мы просто должны дать

public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(Context, R.anim.image_click));
//Your other coding if present
}

в методе OnClick, и изменение будет видно ...

9 голосов
/ 16 февраля 2010

Вы захотите использовать чертеж, который содержит разные изображения для разных состояний, которые вы хотите поддерживать. Вот пример:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/img_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/img_focused" />
    <item android:drawable="@drawable/img_at_rest" />
</selector>

Назовите этот файл img.xml или что-то в этом роде и поместите его в каталог для рисования, затем установите для изображения ImageView значение img.xml. @drawable/img_at_rest - это исходное изображение, которое вы пытаетесь использовать, в то время как @drawable/img_pressed и @drawable/img_focused - это изображения, которые используются для соответствующих состояний. Вы также можете использовать сплошные цвета вместо изображений, если это подходит для вашего случая использования.

2 голосов
/ 28 июня 2016

аним / anim_item.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha
    android:fromAlpha="0.0"
    android:toAlpha="1."
    android:duration="1000">
  </alpha>
</set>

И добавить:

myView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.anim_item));
0 голосов
/ 16 февраля 2010

Не уверен, что это работает, но вы пробовали setSelected () http://developer.android.com/reference/android/widget/ImageView.html#setSelected(boolean)

...