我需要在水平方向均匀排列4 FloatingActionButton
个。
在SO上阅读了很多答案之后,最好的方法是将它们放在LinearLayout
layout_width
0dp
的所有按钮中layout_weight
的{{1}}。经过多次尝试,1
的{{1}}从未奏效。
这就是我的所作所为:
layout_width
使用 API 21(Android 5.0.1)在Android Studio(v1.5.1)中进行渲染,如下所示:
...并且使用 API 17(Android 4.2.2),就像这样(FAB中的图像在物理设备上正确显示,所以这不是问题):
我的问题是:
非常感谢提前!
Nolly J提供以下答案,这就是API 21上的布局看起来如何 ,并且在API 17上也是如此。
答案 0 :(得分:1)
正在发生的事情是你看到如何在棒棒糖前对FAB进行提升。
简而言之,在v21之前的API级别上的所有FAB都具有16dp填充,其中v21 +上的FABS具有0dp填充。这是为了支持提升前棒棒糖。
您应该能够在styles-v21中添加16dp左/右填充,并将其作为填充应用到您的FAB。
答案 1 :(得分:0)
- "无论API和#34;如何实现均匀分配?
我已经使用layout_weight
以四个水平列放置的方式重新创建了LinearLayout<LinearLayout
android:id="@+id/toolbarBack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/rlDetailLayoutBack"
android:layout_marginTop="4dp"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:weightSum="4">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="8dp"
android:gravity="center|center_horizontal"
android:orientation="vertical">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabDirections"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/direction1"
android:borderWidth="0dp"
android:elevation="8dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="8dp"
android:gravity="center|center_horizontal"
android:orientation="vertical">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabCallMobile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mobile"
android:borderWidth="0dp"
android:elevation="0dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="8dp"
android:gravity="center|center_horizontal"
android:orientation="vertical">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabCallLandline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/landline"
android:borderWidth="0dp"
android:elevation="0dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center|center_horizontal"
android:padding="8dp"
android:orientation="vertical">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabWebsite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/website1"
android:borderWidth="0dp"
android:elevation="0dp"/>
</LinearLayout>
有关其他问题,请参阅@Charles Durham解决方案