8

मैं सिर्फ Google पर नया Deisgn पुस्तकालय उपयोग शुरू कर दिया: 'com.android.support:design:22.2.0'क्या यह एंड्रॉइड समर्थन डिजाइन लाइब्रेरी में एक बग है?

मैं FloatingActionButton का उपयोग करें और मैं 5.0 से नीचे और 5.0 से अधिक Android बीच एक छोटा सा मुद्दा है। घड़ी स्क्रीनशॉट:

Android 4.4:

Android 4.4

Android 5.0: Android 5.0

आप देख सकते हैं, Android 4.4 पर, वहाँ फैब के चारों ओर एक मार्जिन है। मुझे लगता है कि यह छाया प्रदर्शित करने के लिए है। लेकिन यह अतिरंजित है! तो क्या यह एक बग है (या Google की भूल है) या सिर्फ सामान्य व्यवहार है?

दृश्य वह होस्टिंग की एक्सएमएल fabs: और समर्थन डिजाइन पुस्तकालय के भविष्य के रिलीज में तय किया जाना चाहिए:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="fr.freemo.freemo.activities.ListFreemoCityActivity"> 

<include 
    android:id="@+id/toolbar" 
    layout="@layout/view_toolbar" /> 


<FrameLayout 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/toolbar"> 

</FrameLayout> 


<ProgressBar 
    android:id="@+id/progressBar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_add" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="@dimen/margin_fab" 
    android:layout_marginRight="@dimen/margin_fab" 
    android:elevation="@dimen/fab_elevation_lollipop" 
    android:src="@drawable/ic_action_new" 
    app:backgroundTint="@color/color_app" 
    app:fab_type="normal" /> 


<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_display" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/fab_add" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="@dimen/margin_fab" 
    android:layout_marginRight="@dimen/margin_fab" 
    android:elevation="@dimen/fab_elevation_lollipop" 
    android:src="@drawable/ic_map_white" 
    android:tint="@color/color_app" 
    app:backgroundTint="@color/white" 
    app:fab_type="normal" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_display_list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/fab_display" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="@dimen/margin_fab" 
    android:layout_marginRight="@dimen/margin_fab" 
    android:elevation="@dimen/fab_elevation_lollipop" 
    android:src="@drawable/ic_action_list" 
    android:tint="@color/color_app" 
    android:visibility="invisible" 
    app:backgroundTint="@color/white" 
    app:fab_type="normal" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_display_grid" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/fab_display_list" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="@dimen/margin_fab" 
    android:layout_marginRight="@dimen/margin_fab" 
    android:elevation="@dimen/fab_elevation_lollipop" 
    android:src="@drawable/ic_view_module_white" 
    android:tint="@color/color_app" 
    android:visibility="invisible" 
    app:backgroundTint="@color/white" 
    app:fab_type="normal" /> 
    </RelativeLayout> 
+0

आप इस मानचित्र दृश्य के लिए एक्सएमएल लेआउट दिखा सकते हैं? – Hector

+0

@ हेक्टर यहां यह – Cocorico

+0

आशा है कि यह http: // stackoverflow में मदद करता है।कॉम/प्रश्न/30613921/कैसे-से-हटाने-फ़्लोटिंगएक्शनबूटन-आसपास के छाया –

उत्तर

0

एपीआई 21 के लिए यह एक बग है। आप कुछ मार्जिन को हटाकर तीर को दृश्यमान बना सकते हैं। यहाँ जिस तरह से आप इसे हल कर सकते हैं और विभिन्न उपकरणों पर परीक्षण के बाद यह काम करने के लिए लगता है:

https://stackoverflow.com/a/31337162/3173384

संपादित

बग पहले से ही तय किया गया है। बस एक वास्तविक बग नहीं किया जा रहा करने के लिए निर्दिष्ट किया गया है v 22.2.1

compile 'com.android.support:design:22.2.1' 
compile 'com.android.support:appcompat-v7:22.2.1' 
compile 'com.android.support:cardview-v7:22.2.1' 
compile 'com.android.support:recyclerview-v7:22.2.1' 
0

यह करने के लिए सभी समर्थन लाइब्रेरी को अपडेट करें। इसके बजाए, यह अपेक्षित व्यवहार है।

एक गूगल देव जवाब का हवाला देते हुए:

यह एक बग नहीं है और इस अर्थ में इच्छित रूप कि यह कुछ जो पूरी तरह से अपरिहार्य है कि काम कर रहा है। एक समन्वयक के भीतर हमारे पास कुछ नियंत्रण है और कुछ स्थितियों (किनारों) का पता लगा सकता है जहां यह एफएबी ऑफसेट कर सकता है। हालांकि यह एक हैक है।

यदि आपको यह पसंद नहीं है, तो ऊंचाई को 0 डीपी पर सेट करें और इसके साथ किया जाए।

अन्य यहाँ कहा गया है किसी रूप में, हम

xmlns:app="http://schemas.android.com/apk/res-auto" 
app:borderWidth="0dp" 
app:elevation="0dp" 

परिभाषित करना चाहिए या और भी बेहतर, एपीआई संस्करण आप के साथ काम कर रहे हैं के आधार पर dimens.xml में अपनी ऊंचाई परिभाषित करते हैं। सबसे आम मामला होगा:

<!-- dimens.xml(v21) --> 
<dimen name="custom_fab_elevation">@dimen/fab_elevation</dimen> 

<!-- dimens.xml(lower) --> 
<dimen name="custom_fab_elevation">0dp</dimen> 
संबंधित मुद्दे