ImageView не хочет появляться после того, как он был скрыт setAlpha () - PullRequest
0 голосов
/ 20 августа 2011

У меня есть фигура, определенная как нарисованная:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
       android:shape="rectangle">
    <solid android:color="#0075b5"/>
    <size android:height="2dp"/>
</shape>

, и я использую эту форму в ImageView в качестве источника:

<ImageView android:layout_height="2dp"
           android:layout_width="fill_parent"
           android:src="@drawable/shape_blue_line"
           android:id="@+id/ptt_blueLineImageView"/>

Проблема возникает, когда я хочу переключить своюImageView:

private void toggleAnimatedLogo() {
        if (viewFlipper.getDisplayedChild() == 2) {
            animatedLogo.setAlpha(ALHPA_TRANSPARENT);
            blueLine.setAlpha(ALHPA_TRANSPARENT);
        } else {
            animatedLogo.setAlpha(ALHPA_VISIBLE);
            blueLine.setAlpha(ALHPA_VISIBLE);
        }
    }

В результате при первом выполнении этого метода оба ImageView исчезают, а на втором появляется только анимированный.Строка с исчезновения вообще не хочет показываться.Я хотел бы иметь рабочий метод переключения.

Ответы [ 2 ]

1 голос
/ 20 августа 2011

Это может быть лучше выполнено с помощью View.setVisibility () , используйте View.INVISIBLE , если вы все еще хотите использовать макет ImageView или View.Gone если вы хотите игнорировать макет.

0 голосов
/ 20 августа 2011

Так что это было действительно странное поведение ImageView. После внесения некоторых изменений в файл макета, которые наверняка не были связаны (я проверял) с этой проблемой, код начал работать. Кто-нибудь знает, почему это произошло?

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

<View android:layout_height="2dp"
      android:layout_width="fill_parent"
      android:id="@+id/ptt_blueLineView"
      android:background="#0075b5"/>

В конце концов, я решил остаться с этой новой версией линии, отказавшись от форм ...

...