1

I'm trying to overlap an ImageView on top of another one inside an Async. The idea is to pass an array of size 16 and to place an overlapping picture on spots that are marked true (the first square is 0, the last is 15). The constructor for the Async class takes in an array of booleans and creates an array of ImageViews with the picture otherwise leaves it blank. Since that wasn't working as intended I tried manually adding 2.

Instead when I place them, the starting point is not the top left corner as i expect. For a visual, I'm trying to get the green/blue box on top of one of the black and white ones http://i.imgur.com/yrez0t7.jpg

fl = (FrameLayout) findViewById(R.id.papa);
        Bitmap bmp;
        bmp=BitmapFactory.decodeResource(getResources(),R.drawable.effect_fire);
        bmp=Bitmap.createScaledBitmap(bmp, btn1.getWidth(), btn1.getHeight(), true);

        iv1.setImageBitmap(bmp);
        iv2.setImageBitmap(bmp);

        iv1.setLeft(0);
        iv1.setTop(0);

        iv2.setLeft(btn1.getWidth());
        iv2.setTop(0);

        iv1.setScaleType(ImageView.ScaleType.CENTER);
        iv2.setScaleType(ImageView.ScaleType.CENTER);


        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(btn1.getHeight(), btn1.getWidth());
        fl.addView(iv1);
        fl.addView(iv2);

I'd expect two squares next to each other but i only get one and not even in the right place. I originally tried setX/setY but that didn't work either. My xml file consists of a FrameLayout (papa) with lots of LinearLayouts and other misc views inside.

edit: this is the xml file

    <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/papa"
android:orientation="vertical" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/game"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:id="@+id/healthBar"
        android:progressDrawable="@drawable/healthbar_high"
        style="?android:attr/progressBarStyleHorizontal"
        android:indeterminate="false" />
    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:id="@+id/manaBar"
        android:progressDrawable="@drawable/manabar"
        style="?android:attr/progressBarStyleHorizontal"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2">
        <ImageButton
            android:id="@+id/btn1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2">
        <ImageButton
            android:id="@+id/btn5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn6"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn7"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn8"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2">
        <ImageButton
            android:id="@+id/btn9"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn10"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn11"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn12"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2">
        <ImageButton
            android:id="@+id/btn13"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn14"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn15"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
        <ImageButton
            android:id="@+id/btn16"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="hit"/>
    </LinearLayout>

    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="6dp"
        android:id="@+id/experienceBar"
        android:progressDrawable="@drawable/levelbar"
        style="?android:attr/progressBarStyleHorizontal"
        />

    <!-- Ability Buttons -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/ability0"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="abilityCast"
            android:clickable="false"
            android:text="0" />
        <Button
            android:id="@+id/ability1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="abilityCast"
            android:clickable="false"
            android:text="1" />
        <Button
            android:id="@+id/ability2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="abilityCast"
            android:clickable="false"
            android:text="2" />
        <Button
            android:id="@+id/ability3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:padding="0dp"
            android:onClick="abilityCast"
            android:clickable="false"
            android:text="SUPER" />
    </LinearLayout>



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
            <TextView
                android:id="@+id/gold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/gold"
                android:textSize="20sp"/>
            <TextView
                android:id="@+id/attack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/attack"
                android:textSize="20sp"/>
            <TextView
                android:id="@+id/defence"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/defence"
                android:textSize="20sp"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
            <TextView
                android:id="@+id/level"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/level"
                android:textSize="20sp"/>
            <TextView
                android:id="@+id/weapon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:textSize="20sp"/>
            <TextView
                android:id="@+id/armor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:textSize="20sp"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

  • post your layout xml file... – Kushan Jul 23 '16 at 13:50
  • i've edited the post to include the layout – onemorething Jul 24 '16 at 00:37
  • FrameLayout params that you are setting are causing it to not be displayed in the top left corner. As for the images shown side by side, that's not how a FrameLayout works, it will always place everything in one spot aka the top left corner unless you specify layout_gravity. Let me think of a solution, ill post it in some time, a tad bit busy.. :) – Kushan Jul 24 '16 at 12:10
  • see http://stackoverflow.com/questions/6060688/how-can-i-align-an-element-to-the-right-in-the-framelayout for details of how it works till then – Kushan Jul 24 '16 at 12:12

0 Answers0