Android - 按钮在具有透明背景时从布局中消失

时间:2012-07-17 00:43:09

标签: android button colors transparency

我的Android应用中有以下表格。一切正常,除了最后一个按钮 - 关于我。当我将背景设置为透明色时 - 它不是在我的设备上显示(但是,它在日食中的布局的图形视图中可见。通过“不显示”我的意思是,它不在屏幕上 - 在它的位置是“下一个”。如果我从最后一个按钮中移除android:background - 它会回到设备。怎么回事?

                <TableRow
                    android:id="@+id/tableRow1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <ImageButton
                        android:id="@+id/buttonShare"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:onClick="shareIt"
                        android:src="@drawable/social_share" />

                    <ImageButton
                        android:id="@+id/buttonBack"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:onClick="prevImage"
                        android:src="@drawable/navigation_previous_item" />

                    <ImageButton
                        android:id="@+id/button1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:src="@drawable/navigation_accept" />

                    <ImageButton
                        android:id="@+id/buttonAbout"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:onClick="showAbout"
                        android:src="@drawable/action_about" />

                    <ImageButton
                        android:id="@+id/buttonForward"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:onClick="nextImage"
                        android:src="@drawable/navigation_next_item" />

                    <ImageButton
                        android:id="@+id/buttonAbout"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:onClick="showAbout"
                        android:src="@drawable/action_about" />
                </TableRow>
            </TableLayout>

我的部分色彩资源如下:

<color name="transparent">#00000000</color>

我刚刚加载了一张新的动作的action_about.png图片。现在,按钮出现 - 但它显示旧的png,而不是新的。发生了什么事?

1 个答案:

答案 0 :(得分:1)

为什么要尝试将背景设置为透明?您是否只想要一个没有设备默认按钮“框架”的按钮,而只需要您的action_about可绘制?如果是这样,你可以使用普通的按钮代替ImageButton,如下所示:

<Button
  android:id="@+id/buttonAbout"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/action_about"
  android:onClick="showAbout"/>

编辑:另请注意,您的布局中有两次buttonAbout元素,它位于底部,3位来自底部。

编辑2 :您在顶部的clean...菜单下是否完全没有Project选项?还是只是变灰了?

我下载了Eclipse Indigo sr2(我在网站上找不到sr1的链接),它就在我身边。 enter image description here