0

在玩画廊时,我还有另一个问题(这可能应该更简单)。

我试图展示一个视图,位于画廊前面,可能部分隐藏了它。就像一个消息对话框(Toast)。

为了做到这一点,我在后面使用了一个带有 Gallery 的 FrameLayout,在前面使用了一个带有透明 src 的 ImageView。当应该显示一个对话框时,我通过“sendImage”将src设置为所需的drawable。

问题是,正如我所假设的那样,画廊/列表项目(在“onRequestListItem -> sendListItem”上动态添加)具有更新的z-Order(因为它们稍后被添加),所以对话框显示在背景之间图库和透明图标,代表列表项。

也许有人会有一个想法,如何避免这种情况?

我不知道有任何方法可以手动将视图添加到 SmartWatch 的布局中,或者通过“bringToFront”更改它们的 zOrder。

这是源代码:

画廊.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Gallery
        android:id="@+id/gallery"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ImageView
    android:id="@+id/toast"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/toast_dialog_message" />

</FrameLayout>

画廊项目.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
    android:id="@+id/item_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20px"
    android:src="@drawable/item_icon" />

</RelativeLayout>

GalleryControlExtension.java

sendImage(R.id.spritz_image, drawableResourceId);

PS 在模拟器中它按预期工作:toast 位于 item_icon ...

4

0 回答 0