使用百分比相对布局创建间距

时间:2016-08-11 15:26:28

标签: java android android-layout

我的问题是我在屏幕上有四个按钮,我使用PercentageRelativeLayout将它们放在我想要的位置,一切都运行良好。
他们甚至调整大小!
然而,当他们调整大小时,按钮开始相互接触,当我这样做时它们不会在平板电脑上相互接触,当我回到手机时,空间相距太远。

有没有人知道如何创建一个可以在所有设备上运行的间距?

因为我认为PercentageRelativeLayouts是调整大小的完美解决方案,而不使用任何LinearLayout,并且它没有像我想象的那样运行。

以下是我的代码

<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:background="#696969">

<ImageButton
    app:layout_widthPercent="40%"
    app:layout_heightPercent="40%"
    app:layout_marginLeftPercent="9%"
    app:layout_marginTopPercent="21%"
    android:background="#00ff0000"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/opt1"
    android:scaleType="fitCenter"
    android:id="@+id/purpleButton"
    android:layout_align="@+id/option1"
    android:longClickable="false" />

<ImageButton
    app:layout_widthPercent="40%"
    app:layout_heightPercent="40%"
    app:layout_marginLeftPercent="9%"
    app:layout_marginTopPercent="58%"
    android:background="#00ff0000"
    android:layout_height="fill_parent"
    android:src="@drawable/opt2"
    android:scaleType="fitStart"
    android:id="@+id/option2"
    android:layout_width="fill_parent"
    android:longClickable="false" />
<ImageButton
    app:layout_widthPercent="40%"
    app:layout_heightPercent="40%"
    app:layout_marginLeftPercent="50%"
    app:layout_marginTopPercent="58%"
    android:background="#00ff0000"
    android:layout_height="fill_parent"
    android:src="@drawable/opt3"
    android:scaleType="fitStart"
    android:id="@+id/option3"
    android:layout_width="fill_parent"
    android:longClickable="false" />
<ImageButton
    app:layout_widthPercent="40%"
    app:layout_heightPercent="40%"
    app:layout_marginLeftPercent="50%"
    app:layout_marginTopPercent="21%"
    android:background="#00ff0000"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/option4"
    android:scaleType="fitCenter"
    android:id="@+id/opt4"
    android:longClickable="false" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Pick an Answer"
    android:id="@+id/pickLabel"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="28dp"
    app:layout_widthPercent="100%"
    app:layout_heightPercent="7%"
    app:layout_marginTopPercent="15%"
    android:textColor="#ffffff"
    android:textAlignment="center"
    android:textSize="30sp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_widthPercent="100%"
    app:layout_heightPercent="12%"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="00"
    android:id="@+id/timeLabel"
    android:textAlignment="gravity"
    android:textSize="72sp"
    android:gravity="center|center_vertical|center_horizontal" />

1 个答案:

答案 0 :(得分:0)

您可以在外部布局设置android:weightSum="1",为内部布局设置android:layout_weight="0.25"

相关问题