दिलचस्प पोस्ट
सुपर () को एक व्युत्पन्न वर्ग में बुलाते समय, क्या मैं स्वयं .__ वर्ग__ में पारित कर सकता हूं? सेवा डेटा परिवर्तित होने पर स्कोप मान अपडेट करें <Input type = 'submit' /> और <button type = 'submit'> टेक्स्ट </ button> के बीच का अंतर Laravel में बहुभाषी अनुवादित मार्ग कैसे बनाए जाएंगे कैसे टूटीएक्टिवेटिव नाम प्राप्त करें या लॉलीपॉप में वर्तमान चल रहे एप्लिकेशन पैकेज नाम प्राप्त करें? मैं कैसे पायथन के साथ सुंदर प्रिंट ASCII तालिकाओं कर सकते हैं? एंड्रॉइड के लिए स्पिनर पृष्ठभूमि डिजाइन और रंग कैसे बदल सकता है? MySQL डाटाबेस से छवियों को कैसे प्राप्त करें और एक HTML टैग में प्रदर्शित करें Google फॉर्म फ़ाइल अपलोड पूर्ण उदाहरण मैं उल्का / constants.js फ़ाइल में स्थिरांक का उपयोग कैसे कर सकता हूं? कैसे अपाचे mod_rewrite डिबग करने के लिए लचीले बनाम स्थैतिक शाखाएं (गिट बनाम रिक्रिकेस / एक्चरव) पृष्ठभूमि छवि पर ओवरले डेटा आंशिक डाउनलोड (HTTP) का उपयोग कर फ़ाइल डाउनलोड करें डॉट वर्ण '।' अनुरोध के लिए एमवीसी वेब एपीआई 2 में जैसे कि एपीआई / लोक / एसटीएएफएफ .45287

टूलबार पर डिफ़ॉल्ट रूप से कोई छाया नहीं है?

मैं अपने ऐप को नए लाइब्रेरी v21 से अपडेट कर रहा हूं। मेरी समस्या यह है कि टूलबार ने कोई छाया नहीं डाली है, अगर मैं "ऊंचाई" विशेषता सेट नहीं कर रहा हूं। क्या यह सामान्य व्यवहार है या मैं कुछ गलत कर रहा हूं?

मेरा कोड है:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:elevation="4dp" android:minHeight="?attr/actionBarSize" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <FrameLayout android:id="@+id/FrameLayout1" android:layout_width="match_parent" android:layout_height="match_parent"> . . . 

और मेरी गतिविधि में – ऑन क्रेट विधि:

  Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); setSupportActionBar(toolbar); 

वेब के समाधान से एकत्रित समाधान "टूलबार पर डिफ़ॉल्ट रूप से कोई छाया नहीं है?"

मैंने टूलबार के लिए अपनी खुद की ड्रॉप छाया सेट करना समाप्त कर दिया, सोचा कि यह किसी की तलाश में किसी के लिए सहायक हो सकता है:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/color_alizarin" android:titleTextAppearance="@color/White" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- **** Place Your Content Here **** --> <View android:layout_width="match_parent" android:layout_height="5dp" android:background="@drawable/toolbar_dropshadow"/> </FrameLayout> </LinearLayout> 

@ Drawable / toolbar_dropshadow:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="@android:color/transparent" android:endColor="#88333333" android:angle="90"/> </shape> 

@ रंग / color_alizarin

 <color name="color_alizarin">#e74c3c</color> 

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

Google ने कुछ हफ्ते पहले डिज़ाइन समर्थन पुस्तकालय जारी किया था और इस पुस्तकालय में इस समस्या का निफ्टी समाधान है।

build.gradle में निर्भरता के रूप में डिज़ाइन समर्थन लाइब्रेरी जोड़ें:

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

एक ड्रॉप छाया उत्पन्न करने के लिए अपने Toolbar लेआउट के आसपास एक आवरण के रूप में लाइब्रेरी द्वारा प्रदान किए गए AppBarLayout जोड़ें

  <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar .../> </android.support.design.widget.AppBarLayout> 

यहां परिणाम है:

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

डिज़ाइन समर्थन लाइब्रेरी के साथ बहुत सारी अन्य युक्तियां हैं

  1. http://inthecheesefactory.com/blog/android-design-support-library-codelab/en
  2. http://android-developers.blogspot.in/2015/05/android-design-support-library.html

आप एपीआई 21 (एंड्रॉइड लॉलीपॉप) से पहले ऊंचाई का उपयोग नहीं कर सकते। हालांकि आप छाया प्रोग्राम को जोड़ सकते हैं, उदाहरण के लिए टूलबार के नीचे स्थित कस्टम दृश्य का उपयोग कर।

@ लेआउट / उपकरण पट्टी

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/blue" android:minHeight="?attr/actionBarSize" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" /> <View android:id="@+id/toolbar_shadow" android:layout_width="match_parent" android:layout_height="3dp" android:background="@drawable/toolbar_dropshadow" /> 

@ Drawable / toolbar_dropshadow

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="@android:color/transparent" android:endColor="#88333333" android:angle="90"/> </shape> 

आपकी गतिविधि लेआउट में <include layout="@layout/toolbar" />

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

OS संस्करण के आधार पर सही छाया शैली को लागू करने के लिए फ़ोल्डर्स / मानों का उपयोग करें।

5.0 उपकरणों के लिए , अपनी गतिविधि के शरीर में windowContentOverlay जोड़ने के लिए /values/styles.xml का उपयोग करें:

 <style name="MyViewArea"> <item name="android:foreground">?android:windowContentOverlay</item> </style> <style name="MyToolbar"> <item name="android:background">?attr/colorPrimary</item> </style> 

फिर शामिल करने के लिए अपनी थीम को बदलकर अपनी स्वयं की कस्टम छाया जोड़ें:

 <item name="android:windowContentOverlay">@drawable/bottom_shadow</item> 

आप यहां Google के आईओ ऐप छाया संसाधन को पकड़ सकते हैं: https://github.com/google/iosched/blob/master/android/src/main/res/drawable-xxhdpi/bottom_shadow.9.png

5.0 उपकरणों के लिए और बाद में , कस्टम शीर्ष शैली शैली का उपयोग करके अपने उपकरण पट्टी में ऊँचाई जोड़ने के लिए / values- v21/styles.xml का उपयोग करें:

 <style name="MyViewArea"> </style> <style name="MyToolbar"> <item name="android:background">?attr/colorPrimary</item> <item name="android:elevation">4dp</item> </style> 

ध्यान दें कि दूसरे मामले में, मुझे एक खाली MyViewArea शैली बनानी थी, ताकि विंडो कंटेंट ओवरले भी दिखाई न दे।

[अपडेट: परिवर्तित संसाधन नाम और Google छाया शामिल हैं।]

यह मेरे लिए बहुत अच्छी तरह से काम करता है:

 <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary" card_view:cardElevation="4dp" card_view:cardCornerRadius="0dp"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary" android:minHeight="?attr/actionBarSize" /> </android.support.v7.widget.CardView> 

यदि आप ToolBar को ActionBar रूप में सेट कर रहे हैं तो बस कॉल करें:

 getSupportActionBar().setElevation(YOUR_ELEVATION); 

नोट: यह setSupportActionBar(toolbar); बाद कहा जाना चाहिए setSupportActionBar(toolbar);

मेरी समस्या यह है कि टूलबार ने कोई छाया नहीं डाली है, अगर मैं "ऊंचाई" विशेषता सेट नहीं कर रहा हूं। क्या यह सामान्य व्यवहार है या मैं कुछ गलत कर रहा हूं?

यही सामान्य व्यवहार है इस पोस्ट के अंत में भी अकसर किये गए सवाल देखें।

आप RelativeLayout साथ काम कर सकते हैं। यह थोड़ा घोंसले के शिकार लेआउट कम कर देता है;)

 <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/toolbar" /> <View android:layout_width="match_parent" android:layout_height="5dp" android:layout_below="@id/toolbar" android:background="@drawable/toolbar_shadow" /> </RelativeLayout> 

घंटों के लिए इस के साथ काम कर रहा था, यहाँ मेरे लिए क्या काम किया है।

appBarLayout और Toolbar विजेट्स से सभी elevation विशेषताओं को निकालें ( styles.xml सहित यदि आप कोई भी स्टाइल लागू कर रहे हैं)।

अब अपनी गतिविधि पर जाएं, और अपने actionBar पर elvation लागू करें जैसे ही:

 Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setElevation(3.0f); 

यह काम करना चाहिए

actionbar_background.xml

  <item> <shape> <solid android:color="@color/black" /> <corners android:radius="2dp" /> <gradient android:startColor="@color/black" android:centerColor="@color/black" android:endColor="@color/white" android:angle="270" /> </shape> </item> <item android:bottom="3dp" > <shape> <solid android:color="#ffffff" /> <corners android:radius="1dp" /> </shape> </item> </layer-list> 

एक्शनबार_स्टाइल पृष्ठभूमि में जोड़ें

 <style name="Theme.ActionBar" parent="style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="background">@drawable/actionbar_background</item> <item name="android:elevation">0dp</item> <item name="android:windowContentOverlay">@null</item> <item name="android:layout_marginBottom">5dp</item> 

नाम = "displayOptions"> useLogo | showHome | showTitle | showCustom

बसेथेम में जोड़ें

 <style name="BaseTheme" parent="Theme.AppCompat.Light"> <item name="android:homeAsUpIndicator">@drawable/home_back</item> <item name="actionBarStyle">@style/Theme.ActionBar</item> </style> 

5.0+ के लिए: आप टूलबार के साथ AppBarLayout का उपयोग कर सकते हैं। AppBarLayout में "ऊंचाई" attribure है।

  <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:elevation="4dp" android:layout_height="wrap_content" android:orientation="vertical"> <include layout="@layout/toolbar" /> </android.support.design.widget.AppBarLayout>