FloatingActionButton
গুগলের সমর্থন ডিজাইন লাইব্রেরি থেকে অফিসিয়ালটি ব্যবহার করে আমি একটি বাগ পাচ্ছি ।
এখানে আমার লগকেট।
android.view.InflateException: Binary XML file line #34: Error inflating class android.support.design.widget.FloatingActionButton
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
at android.view.LayoutInflater.inflate(Unknown Source)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at ---.---.com.---.SubCategoryFragment.onCreateView(SubCategoryFragment.java:47)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
... 24 more
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference
at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:968)
at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1014)
at android.graphics.drawable.RippleDrawable$RippleState.<init>(RippleDrawable.java:910)
at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:901)
at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:90)
at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:932)
at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:891)
at android.view.View.applyBackgroundTint(View.java:16324)
at android.view.View.setBackgroundDrawable(View.java:16193)
at android.support.design.widget.FloatingActionButton.access$201(FloatingActionButton.java:56)
at android.support.design.widget.FloatingActionButton$1.setBackgroundDrawable(FloatingActionButton.java:118)
at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:75)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:131)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:79)
... 27 more
আমার অ্যাপ্লিকেশনকে নির্দেশ করে এমন একমাত্র লাইন এটি যেখানে xml
ফাইলটি স্ফীত করে এবং সেই ফাইলটিতে লাইনটি আমার FloatingActionButton
।
<android.support.design.widget.FloatingActionButton
android:id="@+id/myFABSubCat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_margin="16dp"
android:backgroundTint="@color/accent"
android:src="@drawable/add_icon"
app:borderWidth="0dp"
app:elevation="4sp" />
অতিরিক্ত তথ্য:
এখানে আমার অ্যাপ্লিকেশন থিম:
<resources>
<!-- Base application theme. -->
<style name="MBTIAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="ThemeNoActionBar" parent="MBTIAppTheme">
<item name="windowActionBar">false</item>
</style>
</resources>
হ্যাঁ, আমি একটি ব্যবহার করছি AppCompatActivity
।
আমি লক্ষ্য করেছি যে আমি অ্যাপকম্প্যাটটির একটি পুরানো সংস্করণ ব্যবহার করছি:
com.android.support:appcompat-v7:22.1.1
এটি আপ টু ডেট বলে মনে হচ্ছে:
compile 'com.android.support:design:22.2.0'
এছাড়াও,
minSdkVersion 16
targetSdkVersion 22
এখন, আমি GONE
আমার এফএবির জন্য কিছু ক্ষেত্রে দৃশ্যমানতা সেট করেছি, তবে এটি এটি ফুলে যাওয়ার পরে এটি যাতে সমস্যা হতে পারে না।
এখন, এটি আমার 5.1 ডিভাইসের সাথে কাজ করে, তবে যে ব্যবহারকারীদের সমস্যা রয়েছে তাদের 5.0 রয়েছে।
এটি কি জানা বাগ বা সম্ভবত আমি কিছু ভুল করছি?
android:backgroundTint
প্রাক ললিপপ ডিভাইসগুলিতে ঝামেলা হতে পারে।app:backgroundTint
পরিবর্তে ব্যবহার করুন। আমি 5.0 এর জন্য কোনও সমস্যা চিহ্নিত করতে পারি না।