दिलचस्प पोस्ट
XSLT में मैं एक अलग चर से वैश्विक चर कैसे बढ़ाता हूं? एल्गोरिथ्म यह निर्धारित करने के लिए कि क्या सरणी में एन … एन + मी? Android में हमारे अपने श्रोता इंटरफ़ेस कैसे बनायें? सीएसएस अर्थ में क्या महत्वपूर्ण है? टेम्पलेट्स में एक त्रिगुट एक वेब। कॉन्फिग फ़ाइल का उपयोग कर HTTPS को कैसे लागू करें एंड्रॉइड में प्रगति पट्टी को कैसे अनुकूलित करें onClick पर ViewPager ट्रिगर नहीं जावा जेनेरिक कक्षा – निर्धारित प्रकार साधारण PHP SQL लॉगिन समस्या निवारण पतली वेब सर्वर: `start_tcp_server ': git शाखा चेकआउट के बाद कोई स्वीकारकर्ता नहीं (रनटाइम) खोल वाइल्डकार्ड वर्ण विस्तार बंद करो? डीबीएमएस में परमाणुता क्या है क्या कोड साझा करने के लिए ड्रॉपबॉक्स का इस्तेमाल करते हुए एक नित्य गिट भंडार होस्ट करना संभव है? जावा में स्थानीय और इंस्टेंस चर के बीच अंतर क्या है

मैं दो विगेट्स / लेआउट्स के बीच नया "फ़्लोटिंग एक्शन बटन" कैसे जोड़ सकता हूं

मुझे लगता है कि आपने नए एंड्रॉइड डिज़ाइन दिशानिर्देशों को देखा है, नए "फ़्लोटिंग एक्शन बटन" उर्फ ​​"एफएबी"

उदाहरण के लिए यह गुलाबी बटन:

यहां छवि विवरण दर्ज करें

मेरा सवाल बेवकूफ लग रहा है, और मैंने पहले से ही कई चीजों की कोशिश की है, लेकिन दो लेआउट के छोर पर इस बटन को लगाने का सबसे अच्छा तरीका क्या है?

उपरोक्त उदाहरण में, यह बटन पूरी तरह से एक छविव्यू और एक रिश्टालिटीलेआउट होने की कल्पना कर सकते हैं।

मैंने बहुत पहले से कोशिश की है, लेकिन मुझे यकीन है कि ऐसा करने का एक उचित तरीका है।

वेब के समाधान से एकत्रित समाधान "मैं दो विगेट्स / लेआउट्स के बीच नया "फ़्लोटिंग एक्शन बटन" कैसे जोड़ सकता हूं"

सर्वश्रेष्ठ प्रणालियां:

  • फ़ाइल को ढाल करने के compile 'com.android.support:design:25.0.1' जोड़ें
  • मूल दृश्य के रूप में CoordinatorLayout प्रयोग करें।
  • FAB में layout_anchor जोड़ें और इसे शीर्ष दृश्य पर सेट करें
  • FAB को layout_anchorGravity जोड़ें और इसे bottom|right|end सेट करें: bottom|right|end

यहां छवि विवरण दर्ज करें

 <android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/viewA" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.6" android:background="@android:color/holo_purple" android:orientation="horizontal"/> <LinearLayout android:id="@+id/viewB" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.4" android:background="@android:color/holo_orange_light" android:orientation="horizontal"/> </LinearLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:clickable="true" android:src="@drawable/ic_done" app:layout_anchor="@id/viewA" app:layout_anchorGravity="bottom|right|end"/> </android.support.design.widget.CoordinatorLayout> 

इस उदाहरण में सबसे स्पष्ट तरीके से ऐसा लगता है:

  • एक रिलेटिव लेआउट का उपयोग करें
  • दूसरे के नीचे स्थित एक 2 आसन्न विचारों की स्थिति
  • माता पिता के दाहिने / अंत में एफएबी को संरेखित करें और सही / समापन समापन जोड़ें
  • हेडर दृश्य के निचले भाग में एफएबी को संरेखित करें और एक नकारात्मक हाशिया जोड़ें, जिसमें एफएबी का आधा आकार छाया शामिल है

Shamanland कार्यान्वयन से अनुकूलित उदाहरण, जो भी आप चाहें, FAB का उपयोग करें। मान लें FAB 64dp उच्च छाया सहित:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <View android:id="@+id/header" android:layout_width="match_parent" android:layout_height="120dp" /> <View android:id="@+id/body" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/header" /> <fully.qualified.name.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignBottom="@id/header" android:layout_marginBottom="-32dp" android:layout_marginRight="20dp" /> </RelativeLayout> 

एफएबी लेआउट उदाहरण

आप फाइल> आयात नमूना क्लिक करके एंड्रॉइड स्टूडियो में Google की नमूना परियोजना को आयात कर सकते हैं …

नमूना आयात करें

इस नमूने में एक फ़्लोटिंगएक्शनबटन व्यू शामिल है जो कि FrameLayout से प्राप्त होता है

नई सहायता डिजाइन लाइब्रेरी के साथ संपादित करें आप इस उदाहरण में इसे लागू कर सकते हैं: https://github.com/chrisbanes/cheesesquare

AppCompat 22 के साथ, पुराने उपकरणों के लिए FAB समर्थित है।

अपने build.gradle (एप) में नया समर्थन लाइब्रेरी जोड़ें:

 compile 'com.android.support:design:22.2.0' 

तो आप इसे अपने xml में उपयोग कर सकते हैं:

 <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:src="@android:drawable/ic_menu_more" app:elevation="6dp" app:pressedTranslationZ="12dp" /> 

elevation और pressedTranslationZ गुणों का उपयोग करने के लिए, नामस्थान app की आवश्यकता है, इसलिए इस नामस्थान को अपने लेआउट में जोड़ें: xmlns:app="http://schemas.android.com/apk/res-auto"

अब यह आधिकारिक डिजाइन सहायता पुस्तकालय का हिस्सा है।

आपके स्नातक में:

 compile 'com.android.support:design:22.2.0' 

http://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html

इस पुस्तकालय ( javadoc यहाँ है ) की कोशिश करो, न्यूनतम एपीआई स्तर 7 है:

 dependencies { compile 'com.shamanland:fab:0.0.8' } 

यह थीम, xml या जावा-कोड के माध्यम से इसे अनुकूलित करने की क्षमता के साथ एकल विजेट प्रदान करता है

रोशनीके बीच

यह उपयोग करने के लिए बहुत सरल है प्रोमोटेड एक्शन पैटर्न के अनुसार normal और mini कार्यान्वयन उपलब्ध है।

 <com.shamanland.fab.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_action_my" app:floatingActionButtonColor="@color/my_fab_color" app:floatingActionButtonSize="mini" /> 

डेमो ऐप को संकलित करने का प्रयास करें इसमें संपूर्ण उदाहरण है: प्रकाश और अंधेरे विषयों, ListView साथ, दो दृश्यों के बीच संरेखित करें

यहां एंड्रॉइड के लिए एक एडिशियल फ्री फ्लोटिंग एक्शन बटन लाइब्रेरी है । इसके कई अनुकूलन हैं और एसडीके संस्करण 9 और उच्चतर की आवश्यकता है

यहां छवि विवरण दर्ज करें

पूर्ण डेमो वीडियो

 dependencies { compile 'com.scalified:fab:1.1.2' } 

गोलाकार xml पृष्ठभूमि प्रदान करके टेक्स्टव्यू का उपयोग करके फ़्लोटिंग एक्शन बटन जोड़ना सरल रखें। – फाइल com.android.support:design:23.1.1 करने के लिए com.android.support:design:23.1.1 को संकलित करें

  • मूल दृश्य के रूप में समन्वयक का प्रयोग करें।
  • समन्वयक के समाप्त होने से पहले एक पाठ देखें परिचय
  • ड्रॉ के अंदर एक वृत्त खींचना

सर्कल एक्सएमएल है

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="@color/colorPrimary"/> <size android:width="30dp" android:height="30dp"/> </shape> 

लेआउट xml है

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="5" > <RelativeLayout android:id="@+id/viewA" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1.6" android:background="@drawable/contact_bg" android:gravity="center_horizontal|center_vertical" > </RelativeLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="3.4" android:orientation="vertical" android:padding="16dp" android:weightSum="10" > <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" > </LinearLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:weightSum="4" android:orientation="horizontal" > <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:text="Name" android:textSize="22dp" android:textColor="@android:color/black" android:padding="3dp" /> <TextView android:id="@+id/name" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="3" android:text="Ritesh Kumar Singh" android:singleLine="true" android:textSize="22dp" android:textColor="@android:color/black" android:padding="3dp" /> </LinearLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:weightSum="4" android:orientation="horizontal" > <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:text="Phone" android:textSize="22dp" android:textColor="@android:color/black" android:padding="3dp" /> <TextView android:id="@+id/number" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="3" android:text="8283001122" android:textSize="22dp" android:textColor="@android:color/black" android:singleLine="true" android:padding="3dp" /> </LinearLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:weightSum="4" android:orientation="horizontal" > <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:text="Email" android:textSize="22dp" android:textColor="@android:color/black" android:padding="3dp" /> <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="3" android:text="ritesh.singh@betasoftsystems.com" android:textSize="22dp" android:singleLine="true" android:textColor="@android:color/black" android:padding="3dp" /> </LinearLayout> <LinearLayout android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" android:weightSum="4" android:orientation="horizontal" > <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1" android:text="City" android:textSize="22dp" android:textColor="@android:color/black" android:padding="3dp" /> <TextView android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="3" android:text="Panchkula" android:textSize="22dp" android:textColor="@android:color/black" android:singleLine="true" android:padding="3dp" /> </LinearLayout> </LinearLayout> </LinearLayout> <TextView android:id="@+id/floating" android:transitionName="@string/transition_name_circle" android:layout_width="100dp" android:layout_height="100dp" android:layout_margin="16dp" android:clickable="false" android:background="@drawable/circle" android:elevation="10dp" android:text="R" android:textSize="40dp" android:gravity="center" android:textColor="@android:color/black" app:layout_anchor="@id/viewA" app:layout_anchorGravity="bottom"/> </android.support.design.widget.CoordinatorLayout> 

यह कैसे देखने के लिए यहां क्लिक करें

इसे अपने gradle फ़ाइल में जोड़ें

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:design:23.0.1' } 

यह आपके activity_main.xml में है

 <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/viewOne" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.6" android:background="@android:color/holo_blue_light" android:orientation="horizontal"/> <LinearLayout android:id="@+id/viewTwo" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.4" android:background="@android:color/holo_orange_light" android:orientation="horizontal"/> </LinearLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/floatingButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:clickable="true" android:src="@drawable/ic_done" app:layout_anchor="@id/viewOne" app:layout_anchorGravity="bottom|right|end" app:backgroundTint="#FF0000" app:rippleColor="#FFF" /> </android.support.design.widget.CoordinatorLayout> 

आप http://www.ahotbrew.com/android-floating-action-button/ पर डाउनलोड करने के लिए एंड्रॉइड स्टूडियो प्रोजेक्ट के साथ पूर्ण उदाहरण पा सकते हैं ।