10

I want to put button above image view.

How can i do this?

(Please, don't offer to set Background, cause i need ImageView)

Urban
  • 289
  • 2
  • 5
  • 7

3 Answers3

11

Set as background!

Just kidding... what you need is put your views inside a RelativeLayout. Something like will work:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <ImageView
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
    <Button
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentBottom="true"
       android:text="blah blah"/>
</RelativeLayout>

Notice the use of params like layout_alignParentLeft which are used to position the view where you want.

Cristian
  • 198,401
  • 62
  • 356
  • 264
  • 2
    You can also use merge (http://developer.android.com/resources/articles/layout-tricks-merge.html) or a framelayout (http://developer.android.com/resources/articles/layout-tricks-merge.html) – William Sep 24 '10 at 23:23
  • 2
    The above link is dead now, try this instead: http://developer.android.com/training/improving-layouts/reusing-layouts.html – cracked_all Jan 22 '13 at 05:20
0

I agree with @Cristian's answer. but also, If you need button's action listener you can add onClick method to your imageView without using button.

And also ImageButton. I hope this answer shows some path to solve your problem.

Barış Çırıka
  • 1,570
  • 1
  • 15
  • 24
0

Worked for me with both ImageView and Button inside RelativeLayout:

 <Button android:layout_centerInParent="true">

...

Rachael
  • 1,965
  • 4
  • 29
  • 55