zindex在android中是怎么工作的,以后怎么改顺序

How does zindex work in android, how can I change the order later

我有一个带有 imageButton 的 XML 布局,我想以编程方式添加 "later" 一些 imageButton。不幸的是,添加的按钮覆盖了 XML 按钮。如何使用 zindex? Zindex 属性不存在。我要@+id/btn_surface upper.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
>

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:scrollbars="none"
    android:fillViewport="false">

    <RelativeLayout
        android:id="@+id/rLayoutss"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="5000px"
        android:layout_height="fill_parent"
        android:background="@drawable/repeattile"
        tools:context="com.some.asc.somesystems.SomeActivity"
        >

        <ImageView
            android:layout_height="fill_parent"
            android:layout_width="5000px"
            android:id="@+id/iw_pcover"
            android:background="@drawable/repeatovertile"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"

            />

        <RelativeLayout
            android:layout_width="800px"
            android:layout_height="480px"
            android:background="@color/gray"
            android:visibility="visible"
            android:id="@+id/rl_all_hud"
            >


        <LinearLayout
                android:layout_width="105px"
                android:layout_height="106px"
                android:visibility="visible"
                android:id="@+id/ll_surface"
                android:orientation="vertical">

                <ImageButton
                    android:layout_width="106px"
                    android:layout_height="105px"
                    android:id="@+id/btn_surface"
                    android:background="@drawable/terr_button_surface"
                    />

                <TextView

                    android:layout_width="94px"
                    android:layout_height="105px"
                    android:id="@+id/tv_surface"
                    android:text="Surface"
                    android:layout_marginLeft="6dp"
                    android:layout_marginTop="-26dp"
                    android:textColor="@android:color/white"
                    android:textSize="14px"
                    android:shadowColor="@android:color/black"
                    android:shadowDx="2"
                    android:shadowDy="2"
                    android:shadowRadius="2"
                    />

            </LinearLayout>
        </RelativeLayout>

    </RelativeLayout>

</HorizontalScrollView>
</ScrollView>

添加图像按钮:

    RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rLayoutss);
    ImageButton largeIcon = new ImageButton(context);
    largeIcon.setImageResource(
         getResources().getIdentifier(PObject.getString("imgsrc"), "drawable", getPackageName())
    );
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(80,80);
    lp.leftMargin = 100;
    lp.topMargin = 100;
    largeIcon.setLayoutParams(lp);
    largeIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
    largeIcon.setBackgroundColor(Color.TRANSPARENT);

    relativeLayout.addView(largeIcon);

感谢您的帮助

当您添加 childView 时,largeIcon 在这种情况下您要使用 ViewGroup.addView(View view, int index) 方法。这将允许您指定视图的显示顺序。

对于您的情况,您可能想尝试:relativeLayout.addView(largeIcon, 0);