PercentageRelativeLayout左边距不正确

时间:2016-03-30 15:41:05

标签: android android-studio material-design androiddesignsupport android-percent-library

我的按钮被推向左侧太多(分别不是33%和66%,第一个不是50%): Screenshot

这也发生在模拟器中。我目前正在OnePlus One上测试它。

这是PercentageRelativeLayout部分:



<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>
&#13;
&#13;
&#13;

我还将此项目保留在Github。我该如何解决我的问题?我也想尝试圆形控制,但我想这是不可能的,有时它们会变成椭圆形。

1 个答案:

答案 0 :(得分:0)

如果希望coffeButton水平居中,则在设置边距时应考虑按钮宽度。由于按钮的宽度为30%,因此要将app:layout_marginLeftPercent设为50% - 30% / 2 = 35%,需要居中。

对于上边距app:layout_marginTopPercent33% - 20% / 2 = 23%

同样的事情适用于其他按钮。