1

我试图通过使用FloatingActionButtons与每个菜单项左侧的伴随TextViews作为标题创建一个菜单。我很难让布局显示,因为我希望它。我想要右边的所有FloatingActionButtons以及每个旁边的TextView。这是我现在的代码:Android的RelativeLayout视图聚集

<LinearLayout 
    android:id="@+id/fab_menu_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true"> 

    <RelativeLayout 
     android:id="@+id/fab_menu" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:visibility="invisible"> 

     <TextView 
      android:id="@+id/txt_button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 1" 
      android:layout_margin="8dp"/> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toRightOf="@id/txt_button1"/> 

     <TextView 
      android:id="@+id/txt_button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 2" 
      android:layout_below="@id/txt_button1"/> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toRightOf="@id/txt_button2" 
      android:layout_below="@id/button1"/> 

     <TextView 
      android:id="@+id/txt_button3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button 3" 
      android:layout_below="@id/txt_button2"/> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/button3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toRightOf="@id/txt_button3" 
      android:layout_below="@id/button2"/> 
    </RelativeLayout> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:clickable="true" 
     android:onClick="generateMenu"/> 
</LinearLayout> 

回答

0

我认为这是你在找什么

<LinearLayout 
    android:id="@+id/fab_menu_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:gravity="right" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/fab_menu" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:id="@+id/fab1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/txt_button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button 1" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button1" 
       android:layout_margin="16dp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </LinearLayout> 


     <LinearLayout 
      android:id="@+id/fab2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/txt_button2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button 2" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button2" 
       android:layout_margin="16dp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/fab3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/txt_button3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Button 3" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button3" 
       android:layout_margin="16dp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </LinearLayout> 
    </LinearLayout> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:clickable="true" 
     android:onClick="generateMenu" /> 

</LinearLayout> 

结果

enter image description here

但我仍然建议您使用FloatingActionButton图书馆。它是简单的茶;)

编码愉快..

+1

是的!这正是我要找的:D图书馆更好! – Jesse

+0

很高兴帮助.. –

0

根据其文档,浮动操作按钮用于特殊类型的促销操作。避免使用浮动操作按钮进行轻微和破坏性操作。每个屏幕只推荐一个浮动操作按钮以增加其显着性。它应该只代表最常见的行动。

阅读此链接https://material.google.com/components/buttons-floating-action-button.html#buttons-floating-action-button-floating-action-button

更好的FAB使用

+0

我使用它的菜单,所以在第一种观点将只有在屏幕上一个浮动操作按钮。点击该按钮后,其他按钮变得可见,您可以从那里导航。类似于Facebook Messenger应用程序的方式。 – Jesse

0

你要吗?使用LinearLayout轻松实现,您为什么不使用它。

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/txt_button1" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:gravity="center_vertical" 
       android:layout_margin="8dp" 
       android:layout_weight="0.8" 
       android:text="Button 1" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/txt_button1" 
       android:gravity="right" /> 

     </LinearLayout> 


     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/txt_button2" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="8dp" 
       android:gravity="center_vertical" 
       android:layout_weight="0.8" 
       android:text="Button 1" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/txt_button1" /> 

     </LinearLayout> 


     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/txt_button3" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_margin="8dp" 
       android:layout_weight="0.8" 
       android:gravity="center_vertical" 
       android:text="Button 1" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/button3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/txt_button1" /> 

     </LinearLayout> 


     <android.support.design.widget.FloatingActionButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="16dp" 
      android:layout_gravity="center_horizontal" 
      android:clickable="true" 
      android:onClick="generateMenu" /> </LinearLayout> 
0

我想你想的浮动操作按钮菜单,如果这样的话,而不是使它手动你可以去图书馆是一个更好和更有组织的方式做到这一点,可以更互动,

如果你想这样的事情,

enter image description here

然后看看this question其对同样的事情,你可能会想实现。

参见this librarythis library

一个相当不错的教程说明一个很好的方式,使其为here

相关问题