2013-12-14 2 views
3

У меня есть следующая проблема. У меня есть TableLayout и два TableRows. Оба TableRows содержат два ImageButton. Когда нажимается кнопка, я хочу погасить другие три кнопки и перевести нажатую кнопку в центре экрана. Когда он переводится, верхняя или нижняя половина исчезла, как будто она скрыта другой строкой таблицы. Я попытался установить прозрачный фон строк таблицы, установить альфа = 0, изменить макет, а также попытался использовать ScaleAnimation, но проблема не исчезнет. Как я могу показать пропавшую половину? Я также размещаю код макета и ссылку на экран с этой проблемой.Как установить прозрачный фон во время трансляции анимации андроида?

http://it.tinypic.com/r/1zejhir/5

`

<RelativeLayout 
    android:id="@+id/l34" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
    android:layout_alignParentTop="true"> 
     <ImageButton 
      android:id="@+id/four" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="top|right" 
      android:src="@drawable/unor" 
      android:alpha="0" 
      android:onClick="translate" 
      android:layout_alignParentLeft="true" /> 

     <ImageButton 
      android:id="@+id/three" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="top|left" 
      android:src="@drawable/unor" 
      android:alpha="0" 
      android:onClick="translate" 
      android:layout_alignParentRight="true" /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/l12" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_alignParentBottom="true"> 
     <ImageButton 
      android:id="@+id/one" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="top|right" 
      android:src="@drawable/unor" 
      android:alpha="0" 
      android:onClick="translate" 
      android:layout_alignParentLeft="true" /> 

     <ImageButton 
      android:id="@+id/two" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="top|left" 
      android:src="@drawable/unor" 
      android:alpha="0" 
      android:onClick="translate" 
      android:layout_alignParentRight="true" /> 
</RelativeLayout> 

</RelativeLayout> 

`

ответ

0

Проблема заключается в том, что вы хотите использовать "пространство" от других viewgroups, ваше мнение связан с хостинг ViewGroup (например, строку таблицы). Это не имеет ничего общего с прозрачным фоном. Решение будет состоять в том, чтобы иметь одну группу просмотра, содержащую все ваши значки. Например, используйте RelativeLayout.

+0

Я попробовал версию RelativeLayout, и я редактировал свой вопрос с помощью нового макета. К сожалению, изменений не было. Я также пробовал использовать методы bringChildToFront() и bringToFront(), но ничего ... – madipi

+0

Вы должны использовать один относительный макет для всех детей, а не 2;) – Tobrun

+0

Wow! Кажется, теперь это работает! Мне стыдно за себя, я заменил только имена макетов, но я не удалял другие макеты детей. Большое спасибо! – madipi

1

сделать прозрачный

в ява код->imagebtn.setBackgroundColor(Color.TRANSPARENT);

XML ->android:background="@android:color/transparent"

+0

Я также пробовал, но он не работает. Остальные кнопки исчезли с анимацией затухания, которая устанавливает альфа = 0, но когда выбранная кнопка, например нижняя | правая позиция одна, переводится в центр, я просматриваю только нижнюю половину, как показано на экране, который я опубликовал. – madipi

0

создать изменить ресурс файла styles.xml в папке значений, с помощью следующего кода

<item name="android:windowIsTranslucent">true</item> 

<item name="android:windowBackground">@android:color/transparent</item> 

<item name="android:windowContentOverlay">@null</item> 

<item name="android:windowNoTitle">true</item> 

<item name="android:windowIsFloating">true</item> 

<item name="android:backgroundDimEnabled">false</item> 

в manifest.xml файле добавьте ниже шаг, на который деятельность делает вас прозрачной.

android:theme="@style/Theme.Transparent" 
Смежные вопросы