My buttons get pushed to the left way too much (not 33% and 66% respectively,as well as not 50% for the first one): Screenshot
This happens in the emulator as well. I am currently testing this on a OnePlus One.
Here is the PercentageRelativeLayout part:
<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"
android:layout_below="@+id/textView"
android:layout_above="@+id/contactText">
<Button
app:layout_widthPercent="30%"
app:layout_heightPercent="20%"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_button"
android:text="Σουβλακι"
android:textColor="#fff"
android:id="@+id/souvlakiButton"
app:layout_marginTopPercent="0%"
app:layout_marginLeftPercent="33%"/>
<Button
app:layout_widthPercent="30%"
app:layout_heightPercent="20%"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_button"
android:text="Burger"
android:textColor="#fff"
android:id="@+id/burgerButton"
app:layout_marginTopPercent="66%"
app:layout_marginLeftPercent="33%"/>
<Button
app:layout_widthPercent="30%"
app:layout_heightPercent="20%"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_button"
android:text="Pizza"
android:textColor="#fff"
android:id="@+id/pizzaButton"
app:layout_marginTopPercent="0%"
app:layout_marginLeftPercent="66%"/>
<Button
app:layout_widthPercent="30%"
app:layout_heightPercent="20%"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_button"
android:text="Κρέπα"
android:textColor="#fff"
android:id="@+id/pancakeButton"
app:layout_marginTopPercent="66%"
app:layout_marginLeftPercent="66%"/>
<Button
app:layout_widthPercent="30%"
app:layout_heightPercent="20%"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_button"
android:text="Καφές"
android:textColor="#fff"
android:id="@+id/coffeeButton"
app:layout_marginTopPercent="33%"
app:layout_marginLeftPercent="50%" />
</android.support.percent.PercentRelativeLayout>
I also keep this project at Github. How do I fix my issue? I am also trying to go for circle-shaped controls but I guess this is not possible, sometimes they are going to be oval.
If you want the
coffeButtonto be centered horizontally you should take into consideration the button width when setting the margin. Since the width of the button is 30%, to center it would requireapp:layout_marginLeftPercentto be50% - 30% / 2 = 35%.For the top margin
app:layout_marginTopPercentis33% - 20% / 2 = 23%.Same thing applies to the rest of the buttons.