androidandroid-layoutandroid-imageviewandroid-buttonandroid-percentrelativelayout

Android - Put a button over an ImageView to the exact spot


I have an ImageView (human body) and buttons over this image. enter image description here

Is it possible somehow easily create this in RelativeLayout for the most different screen sizes? Or should I create different layouts for different screen sizes?

How would you proceed? What do you recommend?


Solution

  • Have a look at the percent library.

    It would be perfect for something like this, and would work for every device. You'd have to work out the percentage width, height, and margin for each PercentRelativeLayout relative to your person image.

    Here's an example:

    <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <View
            app:layout_widthPercent="25%"
            android:layout_height="100dp"
            app:layout_marginLeftPercent="5%"
            android:background="#ff0000" />
    
    </android.support.percent.PercentRelativeLayout>
    

    and remember to

    compile 'com.android.support:percent:23.0.0'