7

我在显示以下行为的片段中有一个查看器。从第 2 页开始正确显示,但第一页显示为好像它位于容器视图的背景后面 - 好像它的 z-index 低于背景(z-indices 向用户增加) - 请参阅图片链接如下。

页面实例化的代码是:

pager.setAdapter(new PagerAdapter() {

    @Override
    public void destroyItem(ViewGroup container, int position, Object item) {
        container.removeView((View) item);
    }

    @Override
    public int getCount() {
        return mImages.size();
    }

    @Override
    public View instantiateItem(ViewGroup container, final int position) {
        LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View layout = inflater.inflate(R.layout.image_selector, null, false);

        final ImageView image = (ImageView) layout.findViewById(R.id.image);

        image.setImageResource(mImages.get(position));

        container.addView(layout);

        return layout;
    }

    @Override
    public boolean isViewFromObject(View view, Object item) {
        return item.equals(view)
    }

});

..没什么特别的。

viewpager 片段的布局是:

<?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"
  android:background="#ff2288dd">

  <TextView
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/help1" />

  <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/text1"
    android:layout_above="@+id/text2"
    android:layout_margin="12dip" />

  <TextView
    android:id="@id/text2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:text="@string/help2" />

</RelativeLayout>

对于每页图像:

<?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/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true" />

</RelativeLayout>

再一次,没有什么不寻常的。

Froyo (2.2) 和 Gingerbread (2.3) 在物理设备和模拟器以及运行 4.2 的物理设备上存在行为。

更奇怪的是,当一个图像被触摸以选择它时,一个新的片段会替换原始的浏览器片段,如果选择的图像来自浏览器的第一页,那么所描述的行为也会出现在那里——尽管片段完全不同的布局(以及没有定义背景的新片段)。

所选图像片段的布局:

<?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/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true" />

</RelativeLayout>

下面参考图片。

第一页

过渡到第二页

有谁知道会发生什么?

4

0 回答 0