zindex如何在android中运行,如何在以后更改顺序

时间:2015-09-04 19:01:09

标签: android z-index layer

我有一个带有imageButton的XML布局,我想以编程方式添加“稍后”一些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>

添加imageButton:

    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);

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

当您添加childView时,largeIcon在这种情况下,您希望使用ViewGroup.addView(View view, int index)方法。这样您就可以指定希望视图显示的顺序。

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