2013-12-14 130 views
3

我遇到以下问题。我有一个TableLayout和两个TableRows。两个TableRows都包含两个ImageButton。当点击一个按钮时,我想淡出其他三个按钮并翻译屏幕中心点击的按钮。翻译时,顶部或底部的一半消失了,因为它被另一个表格行所隐藏。我试着设置表格行的透明背景,设置alpha = 0,改变布局,我也尝试过使用ScaleAnimation,但问题并没有消失。我如何显示消失的一半?我也发布了布局代码和问题的屏幕链接。如何在翻译动画android中设置透明背景?

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(如tablerow的)。它与透明背景没有任何关系。解决办法是让一个视图组拥有所有图标。例如使用RelativeLayout。

+0

我尝试了RelativeLayout版本,并使用新的布局编辑了我的问题。不幸的是没有变化。我也尝试使用bringChildToFront()和bringToFront()方法,但没有... – madipi

+0

你应该为所有的孩子使用一个相对布局,而不是2;) – Tobrun

+0

哇!它现在似乎工作!我为自己感到羞耻,我只替换了布局名称,但我没有删除其他孩子的布局。非常感谢你! – madipi

1

使透明

的java代码 - >imagebtn.setBackgroundColor(Color.TRANSPARENT);

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

+0

我也试过它,但它不起作用。其他按钮消失,并设置α= 0的淡出动画,但是当选中的按钮(例如,底部|右侧位置1)在中心平移时,我只查看我张贴的屏幕中显示的下半部分。 – madipi

0

创建修改值文件夹中的文件styles.xml资源,具有以下的manifest.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> 

添加以下一步到哪个活动让你透明。

android:theme="@style/Theme.Transparent"