2015-06-10 9 views
29

मैं अपने एफएबी के दाहिनी ओर संरेखित करना चाहता हूं।नीचे संरेखण फ़्लोटिंग एक्शन बटन

  1. मैं android:gravity="bottom|right"
  2. साथ करने की कोशिश की जब मैं android:layout_alignParentBottom="true कोशिश "FAB गायब हो जाता है
  3. जब मैं कोशिश android:layout_alignBottom="@id/lista_tiendas"FAB गायब हो जाता है

यह जटिल लग नहीं करता, लेकिन मैं सिर्फ इसे पूरा नहीं कर सकते

कोई विचार?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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"> 

<ListView 
    android:id="@+id/lista_tiendas" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="4.0sp"/> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_add_white_48dp" 
    app:backgroundTint="@color/spg_rosa" 
    app:borderWidth="0dp" 
    app:elevation="8dp" 
    app:fabSize="normal" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentBottom="@id/lista_tiendas" 
    /> 
</RelativeLayout> 

उत्तर

77

RelativeLayout के लिए:

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    ... /> 

CoordinatorLayout के लिए, आप का उपयोग करना चाहिए android:layout_gravity="end|bottom"


ConstraintLayout के लिए:

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintEnd_toEndOf="parent" 
    ... /> 

अधिक जानकारी के लिए this answer देखें।

+1

हां, मैंने कोड प्रारूप को सही किया है इसलिए सापेक्ष लयआउट दिखाई देता है! टीएक्स –

+0

यह मेरे लिए भी काम करता है, धन्यवाद! एक FAB के लिए LinearLayout क्यों काम नहीं करता है? – Michael

+1

अनुशंसित है: एंड्रॉइड: layout_alignParentEnd = "true" – Zon

1

मैं ऐसा करने से काम करने के लिए कोड प्राप्त करने में सक्षम था:

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:backgroundTint="#ff0000" 
    app:borderWidth="0dp" 
    app:elevation="8dp" 
    app:fabSize="normal" 
    android:layout_alignLeft="@+id/text" 
    android:layout_above="@+id/text"/> 

हालांकि, इसके साथ below ऊपर के बजाय TextView काम नहीं किया, मेरा मानना ​​है कि यह एक बग हो सकता है।

+0

ठीक है, लेकिन मेरे पास कोई टेक्स्टव्यू नहीं है, मेरे पास एक सूचीदृश्य है जो सभी स्क्रीन लेता है, इसलिए यदि मैं इसे ऊपर रखता हूं, तो मेरे पास वांछित स्थिति नहीं होगी! –

5

ऐसा प्रतीत होता है कि फ़्लोटिंगएक्शन बटन को रिलेवेटिवआउट के अंदर सही ढंग से नहीं रखा गया है।

मैंने रिलेवेटलाइट को फ्रेमलेआउट में बदल दिया, और समस्या हल हो गई! उम्मीद है कि यह मदद करता है!

<ListView 
    android:id="@+id/mylist" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="1.0sp" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="right|bottom" 
    android:src="@drawable/ic_add_white_48dp" 
    app:backgroundTint="@color/spg_rosa" 
    app:borderWidth="0dp" 
    app:elevation="8dp" 
    app:fabSize="normal" /> 

</FrameLayout> 
9

लेआउट RelativeLayout होना चाहिए। अगले कोड का प्रयास करें:

<RelativeLayout 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"> 

<LinearLayout 
    android:id="@+id/ly_list_form" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 


    <ListView 
     android:id="@+id/list_forms" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:dividerHeight="1dp" /> 

</LinearLayout> 

<LinearLayout 
    android:id="@+id/ly_bar_bottom" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="right" 
    android:orientation="horizontal"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/button_addc" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="28dp" 
     android:src="@drawable/ic_add" 
     app:borderWidth="0dp" 
     app:elevation="6dp" 
     app:pressedTranslationZ="12dp" /> 
</LinearLayout> 

+0

रैखिक लेआउट में फ़्लोटिंग बटन लपेटना मेरे लिए चाल है। अन्यथा यह मार्जिन को अनदेखा कर देगा। –

0

प्रयास करें

एंड्रॉयड: layout_gravity = "नीचे | सही"

2

मेरे लिए android.support.design.widget.CoordinatorLayout और android:layout_gravity="bottom|right" कार्यों का उपयोग करने का प्रयास करें।

संबंधित मुद्दे