1

I have an XML Layout with imageButton and I want add "later" some imageButtons programmatically. Unfortunetly the added buttons cover the XML button. How can I use the zindex? Zindex attribute doesn't exist. I want @+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>

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

Thanks for any help

Cipo
  • 161
  • 2
  • 14
  • possible duplicate of [How to set z index by using some integer values](http://stackoverflow.com/questions/8576758/how-to-set-z-index-by-using-some-integer-values) – Gustavo Straube Sep 04 '15 at 19:07

1 Answers1

2

When you add your childView, largeIcon in this case you want to use the ViewGroup.addView(View view, int index) method. This will allow you to specify which order you want your views to appear in.

For your case, you might want to try: relativeLayout.addView(largeIcon, 0);

Tamby Kojak
  • 2,129
  • 1
  • 14
  • 25