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

相關問題