在 ViewFlipper 中添加导航句柄

Add navigation handles in ViewFlipper

我在 ViewFlipper 中添加了左右导航手柄,并且我已经设法让它全部正常工作。问题是无论我使用什么布局,句柄总是呈现在 ViewFlipper 后面。

这是我的 XML:

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <ImageButton
        android:layout_width="30dp"
        android:layout_height="60dp"
        android:id="@+id/flipperLeft"
        android:background="@drawable/arrow_left"
        android:layout_marginTop="60dp"
        android:layout_marginLeft="8dp" />

    <ImageButton
        android:layout_width="30dp"
        android:layout_height="60dp"
        android:id="@+id/flipperRight"
        android:background="@drawable/arrow_right"
        android:layout_marginTop="60dp"
        android:layout_marginRight="8dp" />

    <ViewFlipper
        android:layout_width="fill_parent"
        android:layout_height="180dp"
        android:id="@+id/slider_id"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:autoStart="false">

    </ViewFlipper>

</FrameLayout>

我已经测试了图像按钮和 ViewFlipper 的所有属性,没有任何变化。后来我发现 Android 在 XML 属性中没有 Z-Index 支持。
然后我以编程方式尝试使用 bringToFront 但没有成功。
到目前为止,这是我的代码:

mViewFlipper = (ViewFlipper) findViewById(R.id.slider_id);
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(6000);

page_img.moveToFirst();
while (!page_img.isAfterLast()) {
    ImageView imageView = new ImageView(this);
    Picasso.with(this)
        .load("http://www.example.pt/app_images/"+page_img.getString(0)) 
        .fit().into(imageView);


    mViewFlipper.addView(imageView);

    page_img.moveToNext();
}


ImageButton flipperLeft = (ImageButton) findViewById(R.id.flipperLeft);
ImageButton flipperRight = (ImageButton) findViewById(R.id.flipperRight);

flipperLeft.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        mViewFlipper.showPrevious();
    }
});

flipperRight.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        mViewFlipper.showNext();
    }
});

flipperLeft.bringToFront();

这是我的配置:

minSdkVersion 15
targetSdkVersion 21

有没有办法将图像按钮手柄拉到 ViewFlipper 的前面?

Android 根据视图在布局中定义的顺序,以升序 Z 顺序重叠视图。如果视图重叠,那些在布局中稍后定义的视图将出现在布局中较早定义的视图之上。因此,如果您只是在 XML 布局中将 ImageButton 移动到 ViewFlipper 之后,它们应该出现在 ViewFlipper.

的顶部